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> # Maintainer: Guoyi Zhang <guoyizhang at malacology dot net>
_pkgname=RNAdecay _pkgname=RNAdecay
_pkgver=1.22.2 _pkgver=1.24.0
pkgname=r-${_pkgname,,} pkgname=r-${_pkgname,,}
pkgver=1.22.2 pkgver=${_pkgver//-/.}
pkgrel=1 pkgrel=0
pkgdesc='Maximum Likelihood Decay Modeling of RNA Degradation Data' pkgdesc="Maximum Likelihood Decay Modeling of RNA Degradation Data"
arch=('x86_64') arch=(x86_64)
url="https://bioconductor.org/packages/${_pkgname}" url="https://bioconductor.org/packages/$_pkgname"
license=('GPL') license=('GPL-2.0-only')
depends=( depends=(
r
r-ggplot2 r-ggplot2
r-gplots r-gplots
r-nloptr r-nloptr
r-scales r-scales
r-tmb r-tmb
) )
makedepends=(
r-rcppeigen
)
optdepends=( optdepends=(
r-knitr r-knitr
r-parallel
r-reshape2 r-reshape2
r-rmarkdown r-rmarkdown
) )
source=("https://bioconductor.org/packages/release/bioc/src/contrib/${_pkgname}_${_pkgver}.tar.gz") source=("https://bioconductor.org/packages/release/bioc/src/contrib/${_pkgname}_${_pkgver}.tar.gz")
sha256sums=('c7ee3059b07ee28c2814ee9104e02259f5c53681cf04de9a311bc81a82c0ebdb') md5sums=('4b013eb50cd972559df41fb6361bf1bc')
b2sums=('5481d2048fdab3c21ebf0aceacdfe0cd9ffdcfb89c2ae5b82c72028a6cd477725ba78c73a32bea94a49e2d0f47111886072c0ccdfeed517434e212ad409281f8')
build() { 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() { package() {
install -dm0755 "${pkgdir}/usr/lib/R/library" install -d "$pkgdir/usr/lib/R/library"
cp -a --no-preserve=ownership "${_pkgname}" "${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 #!/usr/bin/env python3
from lilaclib import * 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(): def pre_build():
for line in edit_file('PKGBUILD'): r_pre_build(
if line.startswith('_pkgver='): _G,
line = f'_pkgver={_G.newver}' extra_r_makedepends = ["r-rcppeigen"],
print(line) )
update_pkgver_and_pkgrel(_G.newver.replace(':', '.').replace('-', '.'))
def post_build(): def post_build():
git_pkgbuild_commit() git_pkgbuild_commit()

View file

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

View file

@ -243,6 +243,7 @@ class CheckConfig:
expect_systemrequirements: str = None, expect_systemrequirements: str = None,
expect_title: str = None, expect_title: str = None,
extra_r_depends_cb = None, extra_r_depends_cb = None,
extra_r_makedepends = [],
ignore_fortran_files: bool = False, ignore_fortran_files: bool = False,
): ):
self.expect_license = expect_license self.expect_license = expect_license
@ -250,6 +251,7 @@ class CheckConfig:
self.expect_systemrequirements = expect_systemrequirements self.expect_systemrequirements = expect_systemrequirements
self.expect_title = expect_title self.expect_title = expect_title
self.extra_r_depends_cb = extra_r_depends_cb self.extra_r_depends_cb = extra_r_depends_cb
self.extra_r_makedepends = extra_r_makedepends
self.ignore_fortran_files = ignore_fortran_files self.ignore_fortran_files = ignore_fortran_files
def check_default_pkgs(pkg: Pkgbuild, desc: Description, cfg: CheckConfig): 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): def check_makedepends(pkg: Pkgbuild, desc: Description, cfg: CheckConfig):
errors = [] errors = []
for dep in pkg.makedepends: 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}") 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): 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}") errors.append(f"Missing make dependency: {dep}")