r-rmixmod: use metadata checks

This commit is contained in:
Pekka Ristola 2023-10-05 18:27:54 +03:00
parent ec11d2d394
commit 3678dce269
No known key found for this signature in database
GPG key ID: 2C20BE716E05213E
4 changed files with 65 additions and 25 deletions

View file

@ -1,30 +1,43 @@
# system requirements: GNU make # Maintainer: Pekka Ristola <pekkarr [at] protonmail [dot] com>
# Maintainer: Guoyi Zhang <guoyizhang at malacology dot net> # Contributor: Guoyi Zhang <guoyizhang at malacology dot net>
_pkgname=Rmixmod _pkgname=Rmixmod
_pkgver=2.1.9 _pkgver=2.1.9
pkgname=r-${_pkgname,,} pkgname=r-${_pkgname,,}
pkgver=2.1.9 pkgver=${_pkgver//-/.}
pkgrel=1 pkgrel=1
pkgdesc='Classification with Mixture Modelling' pkgdesc="Classification with Mixture Modelling"
arch=('x86_64') arch=(x86_64)
url="https://cran.r-project.org/package=${_pkgname}" url="https://cran.r-project.org/package=${_pkgname}"
license=('GPL') license=(GPL3)
depends=( depends=(
r glibmm
libxml++2.6
r-rcpp r-rcpp
r-rcppeigen
make
) )
source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz") makedepends=(
sha256sums=('d87eeb1de611ce0e421141a3b3d11cae819d327fbc510314a820ddf982a09453') r-rcppeigen
)
source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz"
"fix-libxmlxx.patch")
md5sums=('6e02da6f0e72ace0f2c6c9d761c6d67c'
'98c555181a4b06b18ad6565b22a43dbe')
sha256sums=('d87eeb1de611ce0e421141a3b3d11cae819d327fbc510314a820ddf982a09453'
'2849f3da407a8d3fc6d081274d66af67f63879e9976fa1997bebf07112147cf5')
prepare() {
# fix compilation with libxml++
patch -Np1 -i fix-libxmlxx.patch
}
build() { build() {
R CMD INSTALL ${_pkgname}_${_pkgver}.tar.gz -l "${srcdir}" mkdir -p build
R CMD INSTALL "$_pkgname" -l build \
--configure-vars=RMIXMOD_WITH_XML=1 \
--configure-vars=RMIXMOD_WITH_OMP=1
} }
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

@ -0,0 +1,11 @@
diff --git a/Rmixmod/src/Makevars.in b/Rmixmod/src/Makevars.in
index 7eb53d5..fa9730b 100644
--- a/Rmixmod/src/Makevars.in
+++ b/Rmixmod/src/Makevars.in
@@ -35,5 +35,5 @@ $(SHLIB): mixmod
mixmod:
(cd $(MIXMODDIR) && $(MAKE) -f mixmod_r.mk)
- (if test ! -z $(RMIXMOD_XML) ; then cd $(IOSTREAMDIR) && $(MAKE) -f mixmod_iostream_r.mk ; fi)
+ (if test ! -z $(RMIXMOD_XML) ; then cd $(IOSTREAMDIR) && $(MAKE) LIBXMLXX_CFLAGS="$(LIBXMLXX_CFLAGS)" -f mixmod_iostream_r.mk ; fi)
$(RANLIB) $(MIXMODLIB)

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}' expect_systemrequirements = "GNU make",
print(line) )
update_pkgver_and_pkgrel(_G.newver.replace(':', '.').replace('-', '.'))
def post_build(): def post_build():
git_pkgbuild_commit() git_pkgbuild_commit()

View file

@ -1,12 +1,24 @@
build_prefix: extra-x86_64 build_prefix: extra-x86_64
maintainers: maintainers:
- github: starsareintherose - github: pekkarr
email: kuoi@bioarchlinux.org email: pekkarr@protonmail.com
repo_depends: repo_depends:
- r-rcpp - r-rcpp
repo_makedepends:
- r-rcppeigen - r-rcppeigen
update_on: update_on:
- regex: Rmixmod_([\d._-]+).tar.gz - source: rpkgs
source: regex pkgname: Rmixmod
url: https://cran.r-project.org/package=Rmixmod repo: cran
md5: true
- alias: r - alias: r
- source: alpm
alpm: glibmm
repo: extra
provided: libglibmm-2.4.so
strip_release: true
- source: alpm
alpm: libxml++2.6
repo: extra
provided: libxml++-2.6.so
strip_release: true