summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--.gitlab-ci.yml78
-rw-r--r--Dockerfile.build_and_test2
-rw-r--r--PKGBUILD59
4 files changed, 61 insertions, 100 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1402b26c55f6..37f33aa5a253 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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/* \
)
diff --git a/PKGBUILD b/PKGBUILD
index 11ec2d595ba0..dadcd867e956 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
}