Proposal to package eecodes + four short cygport questions + a comment

Marco Atzeri marco.atzeri@gmail.com
Sat Apr 10 20:10:17 GMT 2021


On 10.04.2021 21:17, brendan detracey via Cygwin-apps wrote:
> Hi,

Hi Brendan

> I would like to maintain a package for eccodes (https://confluence.ecmwf.int/display/ECC/ecCodes+Home), which is used to process the GRIB weather data format. It is an "optional" prerequisite for cdo  (climate data operators https://code.mpimet.mpg.de/projects/cdo ) , a very powerful climate data command line tool which I would also like to port, pending success with eccodes.
> These are somewhat niche applications but are widely used in the earth sciences communities. Anecdotally, there are still people who rely on cygwin to run them, likely because their corporate masters have them trapped using Windows without the admin rights to install either a VM, or WSL1/2.
> The eccodes license is Apache License V2. It builds and tests successfully with cmake. No patching required. All I have to do is write the cygport file.

you can post your cygport here and we can review it before accepting
the package

> I get the gist of cygports, but I do not understand the following:
> 1. After manually installing eccodes myself, its lib folder contains:$ ls lib
> cmake/  libeccodes.dll.a  libeccodes_f90.dll.a  pkgconfig/Will I have to add exclusions for the cmake and pkgconfig directories? Or does cygcmake take care of this?

cmake you can exclude, pkgconfig you should leave
All should go in a cdo-devel package, as like:

$ cygcheck -l libnetcdf-devel | grep lib
/usr/lib/libnetcdf.dll.a
/usr/lib/libnetcdf.settings
/usr/lib/pkgconfig/netcdf.pc

> 2. Do I understand correctly that I will not have to populate REQUIRES/PKG_REQUIRES in most cases?

Usually not needed.
Add only packages that you notice are missing from the
cygport detection.


> 3. PKG_CONTENTS is the manually populated list of files to install?
is the list of installed files that you want in a specific package.
During the "install" phase cygport creates the tree under "inst"

> 4. BUILD_REQUIRES is the manually populated list of development packages required to build?
yes. Anything that is needed as libraries or special tools.
Compilers, make or anything in "Base" are not needed



> A comment. Took me a day to realize all the cygport examples I would ever need could be found by installing source packages. This is stated indirectly in the "Making a package with cygport" section of package contributors guide .  It would be helpful if it was more explicitly stated. For example, "The cygport file for any cygwin package may be found in /usr/src/package_name after installing the package source using setup-x86_64.exe". It may seem superfluous to those who already know, but to numpties like myself...

Noted. Maybe you can suggest a patch for:
https://cygwin.com/packaging-contributors-guide.html


> So much thanks to the cygwin community, past and present, who kept me productive and sane at work whilst my erstwhile corporate masters made me work 100% on Windows without any admin rights. Dark days indeed.
> 

Regards
Marco



More information about the Cygwin-apps mailing list