r-rnadecay: fix makedepends, use metadata checks

This commit is contained in:
Pekka Ristola 2024-05-13 15:30:46 +03:00
parent 756b60ffe4
commit b7e7b463dd
No known key found for this signature in database
GPG key ID: 2C20BE716E05213E
4 changed files with 37 additions and 24 deletions

View file

@ -1,37 +1,41 @@
# Maintainer: Guoyi Zhang <guoyizhang at malacology dot net>
_pkgname=RNAdecay
_pkgver=1.22.2
_pkgver=1.24.0
pkgname=r-${_pkgname,,}
pkgver=1.22.2
pkgrel=1
pkgdesc='Maximum Likelihood Decay Modeling of RNA Degradation Data'
arch=('x86_64')
url="https://bioconductor.org/packages/${_pkgname}"
license=('GPL')
pkgver=${_pkgver//-/.}
pkgrel=0
pkgdesc="Maximum Likelihood Decay Modeling of RNA Degradation Data"
arch=(x86_64)
url="https://bioconductor.org/packages/$_pkgname"
license=('GPL-2.0-only')
depends=(
r
r-ggplot2
r-gplots
r-nloptr
r-scales
r-tmb
)
makedepends=(
r-rcppeigen
)
optdepends=(
r-knitr
r-parallel
r-reshape2
r-rmarkdown
)
source=("https://bioconductor.org/packages/release/bioc/src/contrib/${_pkgname}_${_pkgver}.tar.gz")
sha256sums=('c7ee3059b07ee28c2814ee9104e02259f5c53681cf04de9a311bc81a82c0ebdb')
md5sums=('4b013eb50cd972559df41fb6361bf1bc')
b2sums=('5481d2048fdab3c21ebf0aceacdfe0cd9ffdcfb89c2ae5b82c72028a6cd477725ba78c73a32bea94a49e2d0f47111886072c0ccdfeed517434e212ad409281f8')
build() {
R CMD INSTALL ${_pkgname}_${_pkgver}.tar.gz -l "${srcdir}"
mkdir build
# compilation needs a lot of memory
MAKEFLAGS+=" -j1"
R CMD INSTALL -l build "$_pkgname"
}
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:

View file

@ -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,
extra_r_makedepends = ["r-rcppeigen"],
)
def post_build():
git_pkgbuild_commit()

View file

@ -8,8 +8,11 @@ repo_depends:
- r-nloptr
- r-scales
- r-tmb
repo_makedepends:
- r-rcppeigen
update_on:
- regex: RNAdecay_([\d._-]+).tar.gz
source: regex
url: https://bioconductor.org/packages/RNAdecay
- source: rpkgs
pkgname: RNAdecay
repo: bioc
md5: true
- alias: r

View file

@ -243,6 +243,7 @@ class CheckConfig:
expect_systemrequirements: str = None,
expect_title: str = None,
extra_r_depends_cb = None,
extra_r_makedepends = [],
ignore_fortran_files: bool = False,
):
self.expect_license = expect_license
@ -250,6 +251,7 @@ class CheckConfig:
self.expect_systemrequirements = expect_systemrequirements
self.expect_title = expect_title
self.extra_r_depends_cb = extra_r_depends_cb
self.extra_r_makedepends = extra_r_makedepends
self.ignore_fortran_files = ignore_fortran_files
def check_default_pkgs(pkg: Pkgbuild, desc: Description, cfg: CheckConfig):
@ -294,10 +296,10 @@ def check_depends(pkg: Pkgbuild, desc: Description, cfg: CheckConfig):
def check_makedepends(pkg: Pkgbuild, desc: Description, cfg: CheckConfig):
errors = []
for dep in pkg.makedepends:
if dep in pkg.depends or (dep.startswith("r-") and dep not in desc.linkingto):
if dep in pkg.depends or (dep.startswith("r-") and (dep not in desc.linkingto and dep not in cfg.extra_r_makedepends)):
errors.append(f"Unnecessary make dependency: {dep}")
for dep in desc.linkingto:
for dep in desc.linkingto + cfg.extra_r_makedepends:
if (dep not in cfg.default_r_pkgs) and (dep not in desc.depends) and (dep not in desc.imports) and (dep not in pkg.makedepends):
errors.append(f"Missing make dependency: {dep}")