From 37aca33b46a93c0d69fa7765f0f9b23241667374 Mon Sep 17 00:00:00 2001 From: Pekka Ristola Date: Mon, 27 Nov 2023 21:14:46 +0200 Subject: [PATCH] r-seqminer: use metadata checks --- BioArchLinux/r-seqminer/PKGBUILD | 44 ++++++++++++++++++++++-------- BioArchLinux/r-seqminer/lilac.py | 15 ++++++---- BioArchLinux/r-seqminer/lilac.yaml | 33 ++++++++++++++++++---- 3 files changed, 70 insertions(+), 22 deletions(-) diff --git a/BioArchLinux/r-seqminer/PKGBUILD b/BioArchLinux/r-seqminer/PKGBUILD index 2a277239b5..a4ba9989e9 100644 --- a/BioArchLinux/r-seqminer/PKGBUILD +++ b/BioArchLinux/r-seqminer/PKGBUILD @@ -1,31 +1,51 @@ -# system requirements: C++11, zlib headers and libraries, GNU make,optionally also bzip2 and POSIX-compliant regex functions. -# Maintainer: Guoyi Zhang +# Maintainer: Pekka Ristola +# Contributor: Guoyi Zhang _pkgname=seqminer _pkgver=9.1 pkgname=r-${_pkgname,,} -pkgver=9.1 +pkgver=${_pkgver//-/.} pkgrel=1 -pkgdesc='Efficiently Read Sequence Data (VCF Format, BCF Format, METAL Format and BGEN Format) into R' -arch=('x86_64') +pkgdesc="Efficiently Read Sequence Data (VCF Format, BCF Format, METAL Format and BGEN Format) into R" +arch=(x86_64) url="https://cran.r-project.org/package=${_pkgname}" -license=('GPL') +license=(GPL) depends=( + bzip2 r + sqlite + zlib + zstd +) +checkdepends=( + r-testthat ) optdepends=( r-skat r-testthat ) -source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz") -sha256sums=('79e2e74cdc20cf00d7c78354c5de5511140c6265af0f32cb4dac11dfb5cab76d') +source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz" + "$_pkgname-fix-buffer-overflows.patch::https://github.com/zhanxw/seqminer/pull/29.patch") +md5sums=('c1a395cd5a427013fc7b784d35ec37ac' + 'e156bd312594f28f4f9b90d050e06d05') +sha256sums=('79e2e74cdc20cf00d7c78354c5de5511140c6265af0f32cb4dac11dfb5cab76d' + '6f4d3fd8acf0d370ca3100ff85f1ae8eb409cfc15a88585e4b5d8c92e1e69527') + +prepare() { + patch -Np1 -d "$_pkgname" < "$_pkgname-fix-buffer-overflows.patch" +} build() { - R CMD INSTALL ${_pkgname}_${_pkgver}.tar.gz -l "${srcdir}" + mkdir -p build + R CMD INSTALL "$_pkgname" -l build +} + +check() { + cd "$_pkgname/tests" + R_LIBS="$srcdir/build" NOT_CRAN=true Rscript --vanilla testthat.R } 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-seqminer/lilac.py b/BioArchLinux/r-seqminer/lilac.py index bd219c037c..c9efad6a6d 100644 --- a/BioArchLinux/r-seqminer/lilac.py +++ b/BioArchLinux/r-seqminer/lilac.py @@ -1,12 +1,17 @@ #!/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_license = "GPL | file LICENSE", + expect_systemrequirements = "C++17, zlib headers and libraries, GNU make, optionally also bzip2 and POSIX-compliant regex functions.", + ) def post_build(): git_pkgbuild_commit() diff --git a/BioArchLinux/r-seqminer/lilac.yaml b/BioArchLinux/r-seqminer/lilac.yaml index 48e6b2d49b..28ef33167c 100644 --- a/BioArchLinux/r-seqminer/lilac.yaml +++ b/BioArchLinux/r-seqminer/lilac.yaml @@ -1,9 +1,32 @@ build_prefix: extra-x86_64 maintainers: -- github: starsareintherose - email: kuoi@bioarchlinux.org +- github: pekkarr + email: pekkarr@protonmail.com +repo_makedepends: +- r-testthat update_on: -- regex: seqminer_([\d._-]+).tar.gz - source: regex - url: https://cran.r-project.org/package=seqminer +- source: rpkgs + pkgname: seqminer + repo: cran + md5: true - alias: r +- source: alpm + alpm: bzip2 + repo: core + provided: libbz2.so + strip_release: true +- source: alpm + alpm: sqlite + repo: core + provided: libsqlite3.so + strip_release: true +- source: alpm + alpm: zlib + repo: core + provided: libz.so + strip_release: true +- source: alpm + alpm: zstd + repo: core + provided: libzstd.so + strip_release: true