Download raw body.
[new] geo/nco
On 2025/12/06 14:31, Marco van Hulten wrote:
> On Sat Dec 6, 2025 at 8:33 AM CET, Landry Breuil wrote:
> > Le Fri, Dec 05, 2025 at 09:57:54PM +0100, Marco van Hulten a écrit :
> >> On Fri Dec 5, 2025 at 6:41 PM CET, Landry Breuil wrote:
> >> > Le Fri, Dec 05, 2025 at 05:42:35PM +0100, Marco van Hulten a écrit :
> >> >> With NCO you can manipulate and analyse netCDF and similar files. It is
> >> >> a useful addition to to tools that are already there.
> >> >>
> >> >> So you could do this:
> >> >>
> >> >> wget https://cluster.klima.uni-bremen.de/~fmaussion/teaching/climate/CERES_EBAF-Surface_Ed4.1_Clim-2005-2015.nc
> >> >> ncdump -h CERES_EBAF-Surface_Ed4.1_Clim-2005-2015.nc | head
> >> >> ncrename -d month,mo CERES_EBAF-Surface_Ed4.1_Clim-2005-2015.nc
> >> >> ncdump -h CERES_EBAF-Surface_Ed4.1_Clim-2005-2015.nc | head
> >> >>
> >> >> to rename the time axis.
> >> >>
> >> >> Apropos, geo/cdo has some of the same functionality, but it is designed
> >> >> to handle data variables, not meta information like axes names, so
> >> >> geoscientists will quickly be looking for something like NCO.
> >> >>
> >> >> OK to add this?
> >> >
> >> > from a first look, you'll need at least fixing the proper versionning
> >> > for the @so that should be @lib with the version, and a BDEP on
> >> > print/texinfo.
> >> >
> >> > @so lib/libnco-5.3.6.so -> that doesnt use the 0.0 from SHARED_LIBS.
> >>
> >> I added print/texinfo (and see that this is needed). I see that this is
> >> in pkg/PLIST. There are no @lib entries. Does that mean I do not need
> >> to include SHARED_LIBS?
> >
> > well, it depends on what is the usecase for libnco. If it's a library
> > that's dlopened by binaries (eg generally what's called 'plugin') then
> > it can be a .so without versioning, but if it's a library things link
> > against (eg consumers of an api provided by the library) then the build
> > system should be adapted so that it is properly versionned with the
> > version coming from SHARED_LIBS, and available i nthe build env as a
> > variable (eg ${LIBnco_VERSION} iirc)
>
> I don't think there is any software besides NCO that links to libnco, so
> what I sent yesterday at 09:57:54PM +0100 without the SHARED_LIBS should
> be right.
...new tar attached addressing most of my comments below;
also
warning: library filename /usr/obj/ports/nco-5.3.6/build-amd64/src/nco/.libs/libnco-5.3.6.so has no version number
and
-rw-r--r-- 1 _pbuild _pbuild 1649976 Dec 6 14:53 libnco-5.3.6.so
-rw-r--r-- 1 _pbuild _pbuild 2824108 Dec 6 14:53 libnco.a
-rw-r--r-- 1 _pbuild _pbuild 1293 Dec 6 14:53 libnco.la
lrwxr-xr-x 1 _pbuild _pbuild 15 Dec 6 14:53 libnco.so -> libnco-5.3.6.so
that symlink shouldn't be there
: COMMENT = NCO manipulates and analyses data stored in netCDF format
generally don't repeat the name of the software here, you already know
the port/package name when you see that information.
how about this instead?
CLI tools to manipulate and analyse netCDF/HDF/DAP data
: V = 5.3.6
: DISTNAME = nco-$V
:
: DIST_TUPLE += github nco nco $V .
no benefit to the extra vars here; that can be written as
DIST_TUPLE += github nco nco 5.3.6 .
: BUILD_DEPENDS = print/texinfo
: LIB_DEPENDS = archivers/libaec \
: devel/gsl \
: math/netcdf \
: math/hdf5 \
: math/udunits \
: textproc/libxml \
: devel/gettext
deps go lower in the Makefile (near the CONFIGURE lines is common)
: # Newer version of GNU texinfo than the one in base (4.8) is needed
the comment is pretty much implied by using ports texinfo
: MAKEINFO = "${LOCALBASE}/bin/gmakeinfo"
that isn't passed through to the build, so it's doing nothing
also prefer not to patch the generated configure script directly; unless
it's very difficult to do so it's better to patch the input files and
regen configure etc.
- upstreams description used in pkg/DESCR seems rather blurb-y
and doesn't make much sense, I borrowed the rather better description
from https://nco.sourceforge.net/#Definition instead
not covered by my updated tar - any idea what this is about or whether
it's important? (I checked and it's not due to setting SEPARATE_BUILD)
/usr/obj/ports/nco-5.3.6/build-amd64/src/nco/ncks -O -7 --cnk_dmn time,10 in.nc in_4c.nc
gmake[2]: /usr/obj/ports/nco-5.3.6/build-amd64/src/nco/ncks: No such file or directory
[new] geo/nco