diff --git a/BioArchLinux/r-rnadecay/PKGBUILD b/BioArchLinux/r-rnadecay/PKGBUILD index 5224590345..3b1372bbe6 100644 --- a/BioArchLinux/r-rnadecay/PKGBUILD +++ b/BioArchLinux/r-rnadecay/PKGBUILD @@ -1,37 +1,41 @@ # Maintainer: Guoyi Zhang _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: diff --git a/BioArchLinux/r-rnadecay/lilac.py b/BioArchLinux/r-rnadecay/lilac.py index bd219c037c..dce031b60d 100644 --- a/BioArchLinux/r-rnadecay/lilac.py +++ b/BioArchLinux/r-rnadecay/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, + extra_r_makedepends = ["r-rcppeigen"], + ) def post_build(): git_pkgbuild_commit() diff --git a/BioArchLinux/r-rnadecay/lilac.yaml b/BioArchLinux/r-rnadecay/lilac.yaml index f6421fcfe7..3573ae7d1e 100644 --- a/BioArchLinux/r-rnadecay/lilac.yaml +++ b/BioArchLinux/r-rnadecay/lilac.yaml @@ -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 diff --git a/lilac-extensions/lilac_r_utils.py b/lilac-extensions/lilac_r_utils.py index 5bdfd4296f..0b4b707be3 100644 --- a/lilac-extensions/lilac_r_utils.py +++ b/lilac-extensions/lilac_r_utils.py @@ -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}")