weech / GRIB.jl

GRIB Interface for Julia
Apache License 2.0
22 stars 2 forks source link

Register :) #2

Closed rafaqz closed 4 years ago

rafaqz commented 4 years ago

Install tagbot to automatically tag your versions:

https://github.com/marketplace/actions/julia-tagbot

Install julia registrator:

https://github.com/apps/juliateam-registrator/installations/new

All things going to plant your package should be registered.

More details on registrator here: https://github.com/JuliaRegistries/Registrator.jl

Balinus commented 4 years ago

I'd be interested to also link GRIB.jl to ClimateTools. :)

Regards

weech commented 4 years ago

Hi, sorry I didn't see this earlier, I thought GitHub would send emails for new issues but apparently it doesn't. I'll go through those things and do what I can figure out. I am concerned about Windows support still. ecCodes has a Windows build, but I can't figure out how to link to it properly.

rafaqz commented 4 years ago

It should normally message you....

Windows support is a pain. These days you would use https://juliapackaging.github.io/BinaryBuilder.jl/dev/ to build an ecCodes_jll package, instead of using BinDeps.

juliohm commented 4 years ago

@weech it would be really nice if you could register this package. Also consider migrating it to some organization like JuliaGeo or JuliaClimate if you think you don't have enough time to maintain it by yourself. Folks will certainly help with BinaryBuilder.jl and other issues.

weech commented 4 years ago

BinaryBuilder won't work because ecCodes doesn't support cross-compilation (at least that's what I took away from the wizard; the endianness checks were failing). Right now I think I want to remove the Conda dependency and trust that the user can figure out how to download ecCodes themselves. I'm going to test and see if the linker can figure that out.

Do you think that not supporting Windows is a problem? That's the only other issue I can think of.

juliohm commented 4 years ago

I think it is better to have something registered that works on Linux/Mac than having nothing registered :) Later on people will jump in to help with Windows if that is an issue.

weech commented 4 years ago

So I managed to get BinaryBuilder to build it for Linux with this build scipt!

cd $WORKSPACE/srcdir
mkdir build
sed -i '91,93d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
sed -i '88d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
sed -i '60-86d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
sed -i '60,86d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
sed -i '55,57d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
sed -i '51d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
sed -i '23,49d' eccodes-2.17.0-Source/cmake/eccodes_test_endiness.cmake
cd build/
cmake -DCMAKE_INSTALL_PREFIX=${prefix} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} -DCMAKE_BUILD_TYPE=Release -DENABLE_NETCDF=OFF -DENABLE_JPG=OFF -DENABLE_PYTHON=OFF -DENABLE_FORTRAN=OFF ../eccodes-2.17.0-Source/
make
make install

I'm running it for the other operating systems now, but it's taking forever to download the environments. Also there isn't a jasper or openjpeg jll yet, so I'm going to see if it's possible to build one of those tomorrow to enable jpeg decompression. I'm hoping to have it done tomorrow or Friday!

visr commented 4 years ago

Also there isn't a jasper or openjpeg jll yet,

There is actually an openjpeg jll: https://github.com/JuliaPackaging/Yggdrasil/tree/master/O/OpenJpeg. It was added in https://github.com/JuliaPackaging/Yggdrasil/pull/904

weech commented 4 years ago

Awesome! I didn't think to try the CamelCase variant. Maybe they could add an alias to libopenjpeg to make it more discoverable? Anyways, I fixed the bugs in that build script and added support for jpeg and png compressed files, so now I'm just waiting for the wizard to finish. It's failed so many times now :sweat_smile:

visr commented 4 years ago

Yeah, the capitalization is a bit unfortunate. I generally just search the Yggdrasil repository, which is more forgiving, and also shows you if there is for instance an open PR or issue to add it.

If you're stuck, you can also just make a PR to Yggrasil and others may be able to help out. Plus the builds there are really fast ;)

juliohm commented 4 years ago

I want to share here that the package is already super useful to some investigations I am doing. Any progress with the registration?

weech commented 4 years ago

I literally just finished the 3 day waiting period and had it merged! Hopefully it will start showing up soon. https://github.com/JuliaRegistries/General/pull/15914

juliohm commented 4 years ago

Awesome! Updating my Project.toml accordingly for the stable release :)

juliohm commented 4 years ago

I think this issue can be closed now :+1: