From 3678dce269c36f0907ac8bb0702001b61bbfcf90 Mon Sep 17 00:00:00 2001 From: Pekka Ristola Date: Thu, 5 Oct 2023 18:27:54 +0300 Subject: [PATCH] r-rmixmod: use metadata checks --- BioArchLinux/r-rmixmod/PKGBUILD | 43 +++++++++++++++-------- BioArchLinux/r-rmixmod/fix-libxmlxx.patch | 11 ++++++ BioArchLinux/r-rmixmod/lilac.py | 14 +++++--- BioArchLinux/r-rmixmod/lilac.yaml | 22 +++++++++--- 4 files changed, 65 insertions(+), 25 deletions(-) create mode 100644 BioArchLinux/r-rmixmod/fix-libxmlxx.patch diff --git a/BioArchLinux/r-rmixmod/PKGBUILD b/BioArchLinux/r-rmixmod/PKGBUILD index a99c047273..1ba906a927 100644 --- a/BioArchLinux/r-rmixmod/PKGBUILD +++ b/BioArchLinux/r-rmixmod/PKGBUILD @@ -1,30 +1,43 @@ -# system requirements: GNU make -# Maintainer: Guoyi Zhang +# Maintainer: Pekka Ristola +# Contributor: Guoyi Zhang _pkgname=Rmixmod _pkgver=2.1.9 pkgname=r-${_pkgname,,} -pkgver=2.1.9 +pkgver=${_pkgver//-/.} pkgrel=1 -pkgdesc='Classification with Mixture Modelling' -arch=('x86_64') +pkgdesc="Classification with Mixture Modelling" +arch=(x86_64) url="https://cran.r-project.org/package=${_pkgname}" -license=('GPL') +license=(GPL3) depends=( - r + glibmm + libxml++2.6 r-rcpp - r-rcppeigen - make ) -source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz") -sha256sums=('d87eeb1de611ce0e421141a3b3d11cae819d327fbc510314a820ddf982a09453') +makedepends=( + 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() { - 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() { - 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-rmixmod/fix-libxmlxx.patch b/BioArchLinux/r-rmixmod/fix-libxmlxx.patch new file mode 100644 index 0000000000..2e128a654b --- /dev/null +++ b/BioArchLinux/r-rmixmod/fix-libxmlxx.patch @@ -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) diff --git a/BioArchLinux/r-rmixmod/lilac.py b/BioArchLinux/r-rmixmod/lilac.py index bd219c037c..6cfc1b802b 100644 --- a/BioArchLinux/r-rmixmod/lilac.py +++ b/BioArchLinux/r-rmixmod/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, + expect_systemrequirements = "GNU make", + ) def post_build(): git_pkgbuild_commit() diff --git a/BioArchLinux/r-rmixmod/lilac.yaml b/BioArchLinux/r-rmixmod/lilac.yaml index 24caeb75f9..db76dee788 100644 --- a/BioArchLinux/r-rmixmod/lilac.yaml +++ b/BioArchLinux/r-rmixmod/lilac.yaml @@ -1,12 +1,24 @@ build_prefix: extra-x86_64 maintainers: -- github: starsareintherose - email: kuoi@bioarchlinux.org +- github: pekkarr + email: pekkarr@protonmail.com repo_depends: - r-rcpp +repo_makedepends: - r-rcppeigen update_on: -- regex: Rmixmod_([\d._-]+).tar.gz - source: regex - url: https://cran.r-project.org/package=Rmixmod +- source: rpkgs + pkgname: Rmixmod + repo: cran + md5: true - 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