diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | .gitlab-ci.yml | 78 | ||||
-rw-r--r-- | Dockerfile.build_and_test | 2 | ||||
-rw-r--r-- | PKGBUILD | 59 |
4 files changed, 61 insertions, 100 deletions
@@ -1,22 +1,26 @@ pkgbase = eccodes pkgdesc = ECMWF decoding library for GRIB, BUFR and GTS - pkgver = 2.21.0 + pkgver = 2.34.1 pkgrel = 1 - url = https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home + url = https://confluence.ecmwf.int/display/ECC/ecCodes+Home arch = i686 arch = x86_64 - license = Apache + license = Apache-2.0 makedepends = gcc-fortran makedepends = cmake - depends = openjpeg + depends = glibc + depends = gcc-libs + depends = libaec depends = libpng + depends = openjpeg2 depends = netcdf - optdepends = libaec: for compression - optdepends = jasper: as an alternative to openjpeg + optdepends = bash + optdepends = ksh conflicts = grib_api conflicts = libbufr-ecmwf - source = http://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.21.0-Source.tar.gz - sha512sums = f2ba8361b99800646a92f5f5beb7ec2facf2ee3b8a3f7985d9681a23b2faae778004c8c688ebe4b3a8492e99c76422c66ecc8943d12d3342d5bc1d38362ccf06 + source = eccodes-2.34.1-Source.tar.gz::https://confluence.ecmwf.int/download/attachments/45757960/eccodes-2.34.1-Source.tar.gz?api=v2 + source = eccodes-2.34.1-test-data.tar.gz::https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz + sha512sums = 3757f051fd80dd381c6687c404c835c6a890341052ded3b72a6802dde5d2d8fd83be4a8d6ec3d19592ca0c5f4211c46f1ba125ba0ef0be9cc45cac6bd3d37c1e + sha512sums = c495a71f18ea01aa480b0920fbfce8d370574d412c95eb04823d0d4544fed0e2dba8e98d63e2be0a3c33a127840e7262d391373fab9304a773e9764457ade5a7 pkgname = eccodes - diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b66ce725790f..a3cc03e024aa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,84 +1,32 @@ include: - - project: 'common/gitlab-helper' + - project: "common/gitlab-helper" ref: master - file: 'container-helper.yml' - - project: 'common/gitlab-helper' - ref: master - file: 'deploy-helper.yml' - -variables: - BUILD_AND_TEST_IMAGE: build_and_test + file: "ci-helper.yml" -workflow: - rules: - # don't create pipeline if the commit message starts with WIP - - if: $CI_COMMIT_MESSAGE =~ /^WIP/ - when: never - # don't create pipeline if we're merging from master or version branches - - if: $CI_MERGE_REQUEST_IID && $CI_COMMIT_REF_NAME =~ /^(master|VER_\d+_\d+)$/ - when: never - - if: $CI_MERGE_REQUEST_IID - - if: $CI_COMMIT_REF_NAME =~ /^(master|VER_\d+_\d+)$/ - - if: $CI_COMMIT_TAG - - if: $CI_PIPELINE_SOURCE =~ /^(trigger|pipeline|web|api|merge_request_event)$/ +workflow: !reference [ .common, workflow ] -.rules_templates: - rules: - - if: &on_master $CI_COMMIT_REF_NAME =~ /^master$/ +variables: + PKG_NAME: "eccodes" stages: - - prepareBuild + - containerize - build - test - deploy -docker-build-and-test: - stage: prepareBuild - extends: .container-build-and-push - variables: - WORKING_DIR: ${CI_PROJECT_DIR} - DOCKERFILE_NAME: "Dockerfile.build_and_test" - IMAGE_NAME: ${CI_REGISTRY_IMAGE}/${BUILD_AND_TEST_IMAGE}:${CI_COMMIT_REF_NAME} - BUILD_ARGS: REGISTRY=${CI_REGISTRY} +container-build-and-test: + extends: .arch-containerize needs: [] build-eccodes: - stage: build - image: ${CI_REGISTRY_IMAGE}/${BUILD_AND_TEST_IMAGE}:${CI_COMMIT_REF_NAME} + extends: .arch-build needs: - - job: "docker-build-and-test" + - job: "container-build-and-test" artifacts: no - artifacts: - name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" - expire_in: 1 day - paths: - - eccodes*.pkg.tar.zst - script: - # We istalled only depends in the build-and-test image, - # build-depends need to installed here, so we're able to check - # the installed package is not dependent on any of the build libs/packages - - makepkg -s --noconfirm - + test-eccodes: - stage: test - image: ${CI_REGISTRY_IMAGE}/${BUILD_AND_TEST_IMAGE}:${CI_COMMIT_REF_NAME} + extends: .arch-test needs: ["build-eccodes"] - script: - # Recommended checks - - namcap -m PKGBUILD - - namcap -m eccodes*.pkg.tar.zst - # Try to install package - - sudo pacman -U --noconfirm eccodes*.pkg.tar.zst deploy-eccodes: - stage: deploy - extends: .git-ssh-push-remote - variables: - REMOTE_HOST: "aur.archlinux.org" - REMOTE_USER: "aur" - REMOTE_REPOSITORY: "eccodes.git" - before_script: - - echo "Uploading to AUR..." - rules: - - if: *on_master - when: manual + extends: .arch-deploy diff --git a/Dockerfile.build_and_test b/Dockerfile.build_and_test index 6ac1cfc93b00..f109bb7d5512 100644 --- a/Dockerfile.build_and_test +++ b/Dockerfile.build_and_test @@ -3,7 +3,7 @@ ARG REGISTRY FROM "$REGISTRY/common/gitlab-helper/archlinux-yay:master" RUN (\ - yay -Syuq --noconfirm --needed openjpeg libpng netcdf \ + yay -Syuq --noconfirm --needed openjpeg2 netcdf \ && yes | yay -Scc --noconfirm \ && sudo rm -rf /var/cache/pacman/pkg/* \ ) @@ -1,41 +1,50 @@ # Maintainer: "Jan Kohnert <bughunter@jan-kohnert.de" # Contributor: Graziano Giuliani <graziano.giuliani@poste.it> pkgname=eccodes -pkgver=2.21.0 +pkgver=2.34.1 _attnum=45757960 pkgrel=1 pkgdesc="ECMWF decoding library for GRIB, BUFR and GTS" -arch=('i686' 'x86_64') -url="https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home" -license=('Apache') -depends=('openjpeg' 'libpng' 'netcdf') -optdepends=('libaec: for compression' 'jasper: as an alternative to openjpeg') -makedepends=('gcc-fortran' 'cmake') -conflicts=('grib_api' 'libbufr-ecmwf') -source=(http://software.ecmwf.int/wiki/download/attachments/${_attnum}/${pkgname}-${pkgver}-Source.tar.gz) -sha512sums=('f2ba8361b99800646a92f5f5beb7ec2facf2ee3b8a3f7985d9681a23b2faae778004c8c688ebe4b3a8492e99c76422c66ecc8943d12d3342d5bc1d38362ccf06') +arch=("i686" "x86_64") +url="https://confluence.ecmwf.int/display/ECC/ecCodes+Home" +license=("Apache-2.0") +depends=("glibc" "gcc-libs" "libaec" "libpng" "openjpeg2" "netcdf") +makedepends=("gcc-fortran" "cmake") +optdepends=("bash" "ksh") +conflicts=("grib_api" "libbufr-ecmwf") +source=( + "${pkgname}-${pkgver}-Source.tar.gz::https://confluence.ecmwf.int/download/attachments/${_attnum}/${pkgname}-${pkgver}-Source.tar.gz?api=v2" + "${pkgname}-${pkgver}-test-data.tar.gz::https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz" +) +sha512sums=( + "3757f051fd80dd381c6687c404c835c6a890341052ded3b72a6802dde5d2d8fd83be4a8d6ec3d19592ca0c5f4211c46f1ba125ba0ef0be9cc45cac6bd3d37c1e" + "c495a71f18ea01aa480b0920fbfce8d370574d412c95eb04823d0d4544fed0e2dba8e98d63e2be0a3c33a127840e7262d391373fab9304a773e9764457ade5a7" +) + +prepare() { + mkdir -p "$srcdir/${pkgname}-${pkgver}-Source/build" + if [ -d "$srcdir/${pkgname}-${pkgver}-Source/build/data" ]; then + rm -r "$srcdir/${pkgname}-${pkgver}-Source/build/data" + fi + mv data "$srcdir/${pkgname}-${pkgver}-Source/build/" +} build() { - cd "$srcdir"/${pkgname}-${pkgver}-Source - sed -i 's/image.inmem_.*=.*1;//' src/grib_jasper_encoding.c - mkdir -p build - cd build - [ $(pacman -Qq libaec 2>/dev/null) ] && use_aec="ON" || use_aec="OFF" - [ $(pacman -Qq jasper 2>/dev/null) ] && use_jasper="ON" || use_jasper="OFF" - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=production \ - -DCMAKE_INSTALL_DATAROOTDIR=/usr/share/$pkgname/definitions \ - -DCMAKE_INSTALL_DATADIR=/usr/share -DENABLE_AEC=$use_aec \ - -DENABLE_PNG=ON -DENABLE_ECCODES_THREADS=ON -DENABLE_JPG=ON \ - -DENABLE_JPG_LIBOPENJPEG=ON -DENABLE_JPG_LIBJASPER=$use_jasper .. - make + cd "$srcdir/${pkgname}-${pkgver}-Source/build" + cmake -DCMAKE_BUILD_TYPE=production -DCMAKE_INSTALL_DATADIR=/usr/share \ + -DCMAKE_INSTALL_DATAROOTDIR=/usr/share/$pkgname/definitions \ + -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_AEC=ON \ + -DENABLE_ECCODES_THREADS=ON -DENABLE_EXTRA_TESTS=ON -DENABLE_JPG=ON \ + -DENABLE_JPG_LIBJASPER=OFF -DENABLE_JPG_LIBOPENJPEG=ON -DENABLE_PNG=ON .. + make } check() { - cd "$srcdir"/${pkgname}-${pkgver}-Source/build + cd "$srcdir/${pkgname}-${pkgver}-Source/build" make test } package() { - cd "$srcdir"/${pkgname}-${pkgver}-Source/build - make DESTDIR="$pkgdir" install + cd "$srcdir/${pkgname}-${pkgver}-Source/build" + make DESTDIR="$pkgdir" install } |