summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO56
-rw-r--r--.gitignore7
-rw-r--r--.gitlab-ci.yml44
-rw-r--r--Dockerfile.build_and_test10
-rw-r--r--PKGBUILD80
-rw-r--r--gdl-cmake.patch26
6 files changed, 160 insertions, 63 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 28e25dff59c9..a450f1e37c4f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,34 +1,46 @@
pkgbase = gnudatalanguage
pkgdesc = An IDL (Interactive Data Language) compatible incremental compiler (ie. runs IDL programs)
- pkgver = 0.9.9
- pkgrel = 1
- url = https://github.com/gnudatalanguage/gdl
+ pkgver = 1.0.4
+ pkgrel = 3
+ url = https://gnudatalanguage.github.io/
arch = i686
arch = x86_64
- license = GPL
+ license = GPL-2.0-or-later
+ checkdepends = openssh
makedepends = cmake
- depends = python2
- depends = python2-numpy
- depends = plplot
+ makedepends = eigen
+ makedepends = python-numpy
+ depends = eccodes
+ depends = expat
+ depends = fftw
+ depends = gcc-libs
+ depends = glibc
+ depends = glpk
+ depends = graphicsmagick
depends = gsl
- depends = readline
depends = hdf4
depends = hdf5
- depends = netcdf
- depends = netcdf-cxx
- depends = wxgtk
- depends = fftw
- depends = pslib
- depends = eccodes
- depends = udunits
- depends = eigen3
- depends = libtirpc
- depends = libmagick6
depends = libgeotiff
- source = https://github.com/gnudatalanguage/gdl/archive/v0.9.9.tar.gz
+ depends = libpng
+ depends = libtiff
+ depends = libtirpc
+ depends = libx11
+ depends = openmpi
+ depends = plplot
+ depends = proj
+ depends = python
+ depends = readline
+ depends = shapelib
+ depends = udunits
+ depends = wxwidgets-common
+ depends = wxwidgets-gtk3
+ depends = zlib
+ optdepends = cuda
+ source = gnudatalanguage-1.0.4.tar.gz::https://github.com/gnudatalanguage/gdl/releases/download/v1.0.4/gdl-v1.0.4.tar.gz
source = gdl.profile
- sha256sums = ad5de3fec095a5c58b46338dcc7367d2565c093794ab1bbcf180bba1a712cf14
- sha256sums = 8df4d0676ffcece07a6884c2836523cdda0bd7668b9491a96ef816bb993e6a2b
+ source = gdl-cmake.patch
+ sha512sums = 3206bdd88b0478493221c0552e62620f1c9acbfec6f1900d73d932caae12401bf825e8893c81f844965f79e332bedb6ea99e6ea6f2b21427022efa60d1326eb0
+ sha512sums = b3a3589d2ce8eb5d49c902aa9bc43df0a0fcc369d17deb060026d34fa821881a212ce6aa02edc7ea6c0476b2faacc7455e467af7b5baf672e2653b71b162190f
+ sha512sums = bcb0f55f7f5a203a3f976e7b258019f425aeb8bb1534a381e4b586ad35d62620d5e7d3f5fe7918e29a0634a6df99a5f86a2caa4f62ce4a1e8ef4c647ea860f65
pkgname = gnudatalanguage
-
diff --git a/.gitignore b/.gitignore
index 2b12620fe3c0..f2303024dc68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,7 @@
-*
+/*
!.gitignore
!gdl.profile
-!gdl-python3.patch
-!gdl-updates.patch
-!gdl-tirpc.patch
+!gdl-cmake.patch
!PKGBUILD
!.SRCINFO
+!.gitlab-ci.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000000..52eab9265ecf
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,44 @@
+include:
+ - project: "common/gitlab-helper"
+ ref: master
+ file: "ci-helper.yml"
+
+workflow: !reference [ .common, workflow ]
+
+variables:
+ PKG_NAME: "gnudatalanguage"
+
+stages:
+ - containerize
+ - extract
+ - build
+ - test
+ - deploy
+
+container-build-and-test:
+ extends: .arch-containerize
+ needs: []
+
+extract-gnudatalanguage:
+ extends: .arch-extract-only
+ needs:
+ - job: "container-build-and-test"
+ artifacts: no
+
+build-gnudatalanguage:
+ artifacts:
+ paths:
+ - $PKG_NAME*.pkg.tar.zst
+ - src/gdl-v1.0.4/build/Testing/Temporary/LastTest.log
+ when: always
+ before_script:
+ - sed -i "s/^tolerance=0.01/tolerance=${TOLERANCE:-0.01}/" src/gdl-v1.0.4/testsuite/test_tic_toc.pro
+ extends: .arch-buildx-only
+ needs: ["extract-gnudatalanguage"]
+
+test-gnudatalanguage:
+ extends: .arch-test
+ needs: ["build-gnudatalanguage"]
+
+deploy-gnudatalanguage:
+ extends: .arch-deploy
diff --git a/Dockerfile.build_and_test b/Dockerfile.build_and_test
new file mode 100644
index 000000000000..aa6efc431460
--- /dev/null
+++ b/Dockerfile.build_and_test
@@ -0,0 +1,10 @@
+ARG REGISTRY
+
+FROM "$REGISTRY/common/gitlab-helper/archlinux-yay:master"
+
+RUN (\
+ yay -Syuq --noconfirm --needed python-numpy eigen plplot gsl hdf4 hdf5 wxwidgets-gtk3 fftw pslib eccodes udunits graphicsmagick libgeotiff glpk shapelib openssh xorg-server-xvfb \
+ && yes | yay -Scc --noconfirm \
+ && rm -rf ~/.cache/yay \
+ && sudo rm -rf /var/cache/pacman/pkg/* \
+)
diff --git a/PKGBUILD b/PKGBUILD
index 496c3f6a3c8a..a7f62b035989 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,59 +4,65 @@
# Contributor: Orlando Garcia Feal <rodland at gmail dot com>
pkgname=gnudatalanguage
-pkgver=0.9.9
-pkgrel=1
+pkgver=1.0.4
+pkgrel=3
pkgdesc="An IDL (Interactive Data Language) compatible incremental compiler (ie. runs IDL programs)"
-arch=('i686' 'x86_64')
-url="https://github.com/gnudatalanguage/gdl"
-license=('GPL')
-depends=('python2'
- 'python2-numpy'
- 'plplot'
- 'gsl'
- 'readline'
- 'hdf4'
- 'hdf5'
- 'netcdf'
- 'netcdf-cxx'
- 'wxgtk'
- 'fftw'
- 'pslib'
- 'eccodes'
- 'udunits'
- 'eigen3'
- 'libtirpc'
- 'libmagick6'
- 'libgeotiff')
-makedepends=('cmake')
-#options=('!makeflags')
-source=("https://github.com/gnudatalanguage/gdl/archive/v${pkgver}.tar.gz"
- 'gdl.profile')
-sha256sums=('ad5de3fec095a5c58b46338dcc7367d2565c093794ab1bbcf180bba1a712cf14'
- '8df4d0676ffcece07a6884c2836523cdda0bd7668b9491a96ef816bb993e6a2b')
+arch=("i686" "x86_64")
+url="https://gnudatalanguage.github.io/"
+license=("GPL-2.0-or-later")
+depends=("eccodes" "expat" "fftw" "gcc-libs" "glibc" "glpk" "graphicsmagick" "gsl" "hdf4" "hdf5"
+ "libgeotiff" "libpng" "libtiff" "libtirpc" "libx11" "openmpi" "plplot" "proj" "python"
+ "readline" "shapelib" "udunits" "wxwidgets-common" "wxwidgets-gtk3" "zlib")
+makedepends=("cmake" "eigen" "python-numpy")
+checkdepends=("openssh")
+optdepends=("cuda")
+source=("$pkgname-$pkgver.tar.gz::https://github.com/gnudatalanguage/gdl/releases/download/v${pkgver}/gdl-v${pkgver}.tar.gz"
+ "gdl.profile"
+ "gdl-cmake.patch")
+sha512sums=("3206bdd88b0478493221c0552e62620f1c9acbfec6f1900d73d932caae12401bf825e8893c81f844965f79e332bedb6ea99e6ea6f2b21427022efa60d1326eb0"
+ "b3a3589d2ce8eb5d49c902aa9bc43df0a0fcc369d17deb060026d34fa821881a212ce6aa02edc7ea6c0476b2faacc7455e467af7b5baf672e2653b71b162190f"
+ "bcb0f55f7f5a203a3f976e7b258019f425aeb8bb1534a381e4b586ad35d62620d5e7d3f5fe7918e29a0634a6df99a5f86a2caa4f62ce4a1e8ef4c647ea860f65")
prepare() {
- cd ${srcdir}/gdl-${pkgver}
+ cd "${srcdir}/gdl-v1.0.4"
+
+ patch -p1 -i ../gdl-cmake.patch
}
build() {
- cd ${srcdir}/gdl-${pkgver}
+ cd "${srcdir}/gdl-v1.0.4"
if [[ -d build ]]; then
rm -r build
fi
mkdir build
cd build
- cmake -DCMAKE_INSTALL_PREFIX=/usr -DPYTHON=YES -DPYTHONVERSION=2 \
- -DPYTHON_EXECUTABLE=/usr/bin/python2.7 -DGRAPHICSMAGICK=OFF -DMAGICK=ON \
- -DFFTW=ON -DHDF=ON -DHDFDIR=/opt/hdf4 -DHDF5=ON -DGRIB=ON -DUDUNITS=ON ..
+
+ cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr -DGDL_LIB_DIR="/lib/${pkgname}" \
+ -DEIGEN3=ON -DFFTW=ON -DGLPK=ON -DGRAPHICSMAGICK=ON -DGRIB=ON -DHDF5=ON \
+ -DHDF=ON -DHDFDIR=/opt/hdf4 -DLIBPROJ=ON -DMAGICK=OFF -DMPI=ON -DNETCDF=OFF \
+ -DPYTHON=ON -DPYTHONVERSION=3 -DPYTHON_MODULE=OFF -DQHULL=ON -DREADLINE=ON \
+ -DSHAPELIB=ON -DUDUNITS2=ON ..
make
}
+check() {
+ cd "${srcdir}/gdl-v1.0.4/build"
+
+ # we need *..driver_info files, those are installed but not in
+ while IFS= read -r -d '' file
+ do
+ base=$(basename "${file}" .so)
+ cp ../src/plplotdriver/"${base}".driver_info src/plplotdriver/"${base}".driver_info
+ done < <(find src/plplotdriver -name \*.so -print0)
+ PLPLOT_DRV_DIR="src/plplotdriver/" ctest --output-on-failure
+}
+
package() {
- cd ${srcdir}/gdl-${pkgver}/build
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/gdl-v1.0.4/build"
+ make DESTDIR="${pkgdir}" install
install -D -m755 ../../gdl.profile "${pkgdir}/etc/profile.d/gdl.sh"
- install -D -m644 -t "${pkgdir}/usr/share/doc/${pkgname}" ../{AUTHORS,ChangeLog,HACKING,NEWS,README}
+ install -D -m644 -t "${pkgdir}/usr/share/doc/${pkgname}" ../{AUTHORS,HACKING,NEWS,README}
+ install -D -m644 -t "${pkgdir}/usr/share/applications" ../doc/gdl.desktop
}
diff --git a/gdl-cmake.patch b/gdl-cmake.patch
new file mode 100644
index 000000000000..0c4aa58c3bf2
--- /dev/null
+++ b/gdl-cmake.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f7b8801d..dc9bece9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -155,7 +155,7 @@ set(GDL_LIB_DIR "" CACHE PATH "GDL: library directory relative to CMAKE_INSTALL_
+ if ( GDL_LIB_DIR STREQUAL "" OR NOT GDL_LIB_DIR)
+ set (GDL_DRV_DIR "${CMAKE_INSTALL_PREFIX}/${GDL_DATA_DIR}/drivers") # CACHE PATH "GDL: where the drivers will be installed.")
+ else()
+- set (GDL_DRV_DIR "${GDL_LIB_DIR}" ) # CACHE PATH "GDL: where the drivers will be installed.")
++ set (GDL_DRV_DIR "${CMAKE_INSTALL_PREFIX}/${GDL_LIB_DIR}" ) # CACHE PATH "GDL: where the drivers will be installed.")
+ endif()
+ # check for 64-bit OS
+ if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
+diff --git a/config.h.cmake b/config.h.cmake
+index 7080df9a..327c01d8 100644
+--- a/config.h.cmake
++++ b/config.h.cmake
+@@ -3,7 +3,7 @@
+
+ #define EXEC_PREFIX "@CMAKE_INSTALL_PREFIX@"
+ #define GDLDATADIR "@CMAKE_INSTALL_PREFIX@@GDL_DATA_DIR@"
+-#define GDLLIBDIR "@GDL_LIB_DIR@"
++#define GDLLIBDIR "@CMAKE_INSTALL_PREFIX@@GDL_LIB_DIR@"
+ #define GDL_DRV_DIR "@GDL_DRV_DIR@"
+ #define VERSION "@VERSION@"
+