From d8473dab8498c413bad80c58727adefbd127ee09 Mon Sep 17 00:00:00 2001 From: Pekka Ristola Date: Wed, 27 Sep 2023 14:44:00 +0300 Subject: [PATCH] r-rmysql: use metadata checks --- BioArchLinux/r-rmysql/PKGBUILD | 50 +++++++++++++++++++++++++------- BioArchLinux/r-rmysql/lilac.py | 14 +++++---- BioArchLinux/r-rmysql/lilac.yaml | 18 ++++++++---- 3 files changed, 61 insertions(+), 21 deletions(-) diff --git a/BioArchLinux/r-rmysql/PKGBUILD b/BioArchLinux/r-rmysql/PKGBUILD index db5300a81d..effb06a98b 100644 --- a/BioArchLinux/r-rmysql/PKGBUILD +++ b/BioArchLinux/r-rmysql/PKGBUILD @@ -1,33 +1,61 @@ -# system requirements: libmariadb-client-dev | libmariadb-client-lgpl-dev| libmysqlclient-dev (deb), mariadb-devel (rpm), mariadb |mysql-connector-c (brew), mysql56_dev (csw) -# Maintainer: Guoyi Zhang +# Maintainer: Pekka Ristola +# Contributor: Guoyi Zhang _pkgname=RMySQL _pkgver=0.10.26 pkgname=r-${_pkgname,,} -pkgver=0.10.26 +pkgver=${_pkgver//-/.} pkgrel=1 pkgdesc="Database Interface and 'MySQL' Driver for R" -arch=('x86_64') +arch=(x86_64) url="https://cran.r-project.org/package=${_pkgname}" -license=('GPL') +license=(GPL2) depends=( - r - r-dbi mariadb-libs + r-dbi +) +checkdepends=( + mariadb + r-testthat ) optdepends=( r-curl r-testthat ) source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz") +md5sums=('7ff38becce5ebf21c6a5751e6ebba16b') sha256sums=('45bb5b20a38b1f7d3a58a1c15c9d57707d603b01a3021423d1d57367a4ef637a') build() { - R CMD INSTALL ${_pkgname}_${_pkgver}.tar.gz -l "${srcdir}" + mkdir -p build + R CMD INSTALL "$_pkgname" -l build +} + +check() { + cd "$_pkgname/tests" + + # create database for tests + export MARIADB_HOME="$srcdir/mariadb" + mkdir -p "$MARIADB_HOME/data" + cat > "$MARIADB_HOME/my.cnf" << EOF +[client-server] +socket="$MARIADB_HOME/mariadb.sock" + +[server] +skip_networking=1 +datadir="$MARIADB_HOME/data" +EOF + mariadb-install-db + mariadbd & + sleep 1 # wait for the server to start up + + R_LIBS="$srcdir/build" NOT_CRAN=true Rscript --vanilla testthat.R + + # shut down test database + mariadb-admin shutdown } package() { - install -dm0755 "${pkgdir}/usr/lib/R/library" - cp -a --no-preserve=ownership "${_pkgname}" "${pkgdir}/usr/lib/R/library" + install -d "$pkgdir/usr/lib/R/library" + cp -a --no-preserve=ownership "build/$_pkgname" "$pkgdir/usr/lib/R/library" } -# vim:set ts=2 sw=2 et: diff --git a/BioArchLinux/r-rmysql/lilac.py b/BioArchLinux/r-rmysql/lilac.py index bd219c037c..4b053b9a83 100644 --- a/BioArchLinux/r-rmysql/lilac.py +++ b/BioArchLinux/r-rmysql/lilac.py @@ -1,12 +1,16 @@ #!/usr/bin/env python3 from lilaclib import * +import os +import sys +sys.path.append(os.path.normpath(f'{__file__}/../../../lilac-extensions')) +from lilac_r_utils import r_pre_build + def pre_build(): - for line in edit_file('PKGBUILD'): - if line.startswith('_pkgver='): - line = f'_pkgver={_G.newver}' - print(line) - update_pkgver_and_pkgrel(_G.newver.replace(':', '.').replace('-', '.')) + r_pre_build( + _G, + expect_systemrequirements = "libmariadb-client-dev | libmariadb-client-lgpl-dev | libmysqlclient-dev (deb), mariadb-devel (rpm), mariadb | mysql-connector-c (brew), mysql56_dev (csw)", + ) def post_build(): git_pkgbuild_commit() diff --git a/BioArchLinux/r-rmysql/lilac.yaml b/BioArchLinux/r-rmysql/lilac.yaml index 3125d3d39e..f1dd7e4fd1 100644 --- a/BioArchLinux/r-rmysql/lilac.yaml +++ b/BioArchLinux/r-rmysql/lilac.yaml @@ -1,11 +1,19 @@ build_prefix: extra-x86_64 maintainers: -- github: starsareintherose - email: kuoi@bioarchlinux.org +- github: pekkarr + email: pekkarr@protonmail.com repo_depends: - r-dbi +repo_makedepends: +- r-testthat update_on: -- regex: RMySQL_([\d._-]+).tar.gz - source: regex - url: https://cran.r-project.org/package=RMySQL +- source: rpkgs + pkgname: RMySQL + repo: cran + md5: true - alias: r +- source: alpm + alpm: mariadb-libs + repo: extra + provided: libmariadb.so + strip_release: true