diff options
-rw-r--r-- | .SRCINFO | 56 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | .gitlab-ci.yml | 44 | ||||
-rw-r--r-- | Dockerfile.build_and_test | 10 | ||||
-rw-r--r-- | PKGBUILD | 80 | ||||
-rw-r--r-- | gdl-cmake.patch | 26 |
6 files changed, 160 insertions, 63 deletions
@@ -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/* \ +) @@ -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@" + |