pkgsrc notion that free software should not depend on non-free
software (because that results in not having distributable binary
packages, and makes the build fail) unless skipping the dependency
renders the software non-useful.
(The hdf web page says that the default binary builds of hdf include
szip support, but then go on about how users that don't qualify for
the no-cost license have to install a different version.)
If someone who grasps hdf5 can say that hdf5 w/o szip is generally not
useful, we can turn this back on and disable by default the hdf5
option in octave.
(yes I know there is the 1.8 branch, but I don't want to experiment
right now)
changes: many fixes, some C++ API improvements
pkgsrc change: DESTDIR support
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:
-minor feature additions to the command line tools
-C++ API: Added support for Szip
-bugfixes
pkgsrc changes:
-fixes for the cxx option (should be a separate pkg)
-fixes for the threadsafe option -- replaced a pthread_equal() by a
simple "==" to make it usable with non-threaded apps
(not 100% portable, but should be fine for the platforms in question)
The shared libraries should not be linked against libpthread, but
that would require serious changes to the autoconf/make machinery
so I've left it alone for now.
If that is fixed, "threadsafe" could be made default.
-Don't try to strip scripts on install.
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
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.
-make NetBSD ("netbsdelf") a recognized configuration, copied from
"freebsd"; this pulls in definitions for gcc, in particular it
disables some optimization
-work around a memory corruption problem in H5FDstream which appearently
is caused by use of free()d memory
The latter 2 changes make the library survive its selftests, and help
the "pytables" pkg as well.
bump PKGREVISION, raise BUILDLINK_RECOMMENDED
New Features
Configuration:
- Added some initial support for making purify (or similar memory
checking products) happier by initializing buffers to zero and
disabling the internal free list code. To take advantage of this,
define 'H5_USING_PURIFY' in your CFLAGS when building the library.
- WINDOWS building,testing and installing improvements
- On Windows, FORTRAN,C++ and C projects are merged into one zip file,
users can choose an option to build either FORTRAN or C++ or both
with basic C library.For detailed information,
please read INSTALL_Windows.txt.
- On Windows, szip compression library with or without encoder can be easily
turned off or on when building HDF5. For detailed information,
please read INSTALL_Windows.txt, especially section V.
- On Windows, an optional procedure for building,testing and installing
HDF5 from command line is provided. This procedure is supposed to be
convenient for experienced users, please read
INSTALL_windows_From_Command_Line.txt for details.
- On Windows, an alternative short instruction document for building,
testing and installing HDF5 is provided. This instruction is supposed to
be convenient for general users, please read
INSTALL_Windows_Short.txt for details.
- On Windows, h5repack,h5diff,h5ls and h5import tool tests have been added.
Library:
- Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
SZIP compression. Now there is no restriction on the size and shape of the
chunk except that the total number of elements in the chunk cannot be
bigger than 'pixels_per_block' parameter provided by the user.
- HDF5 can now link to SZIP with or without szip's encoder.
The new API function H5Zget_filter_info can be used to check
szip's status. Attempting to assign szip to a dataset property
list or attempting to write with szip will generate an error if
szip's encoder is disabled. JL/NF - 2004/6/30
- SZIP always uses K13 compression. This flag no longer needs to
be set when calling H5Pset_szip. If the flag for CHIP
compression is set, it will be ignored (since the two are mutually
exclusive). JL/NF - 2004/6/30
- A new API function H5Fget_name was added. It returns the name
of the file by object(file, group, data set, named data type,
attribute) ID. SLU - 2004/06/29
- A new API function H5Fget_filesize was added. It returns the
actual file size of the opened file. SLU - 2004/06/24
- Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
will suppress all library version mismatch warning messages.
Tools:
- h5repack was added to the tools suite. h5repack regenerates an HDF5 file
from another HDF5 file, optionally applying HDF5 filters (compression)
and/or chunking to the copied file. The filters options are read from
the command line. See /doc/html/Tools.html for more details.
PVN - 2004/9/13
- h5dump includes new features:
1) Printing of dataset filters, storage layout and fill value information.
2) Print a list of the file contents.
3) Escape non printing characters.
4) Print the content of the boot block.
5) Print array indices with the data (the default).
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".