diff --git a/BioArchLinux/r-rserve/PKGBUILD b/BioArchLinux/r-rserve/PKGBUILD index d228f24067..8341abfffc 100644 --- a/BioArchLinux/r-rserve/PKGBUILD +++ b/BioArchLinux/r-rserve/PKGBUILD @@ -1,30 +1,47 @@ -# system requirements: libR, GNU make -# Maintainer: sukanka +# Maintainer: Pekka Ristola +# Contributor: sukanka _pkgname=Rserve _pkgver=1.8-11 pkgname=r-${_pkgname,,} -pkgver=1.8.11 +pkgver=${_pkgver//-/.} pkgrel=2 -pkgdesc='Binary R server' -arch=('x86_64') +pkgdesc="Binary R server" +arch=(x86_64) url="https://cran.r-project.org/package=${_pkgname}" -license=('GPL') +license=(GPL2) depends=( + libxcrypt + openssl r ) optdepends=( + "java-runtime: REngine Java client" r-rsclient ) -source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz") -sha256sums=('9dfb1d68493f8cee5d2e12a1bfa604404834e11809f4c908d65b9100a9af1b85') +source=("https://cran.r-project.org/src/contrib/${_pkgname}_${_pkgver}.tar.gz" + "fix-install.patch") +md5sums=('53182272a555f31bf37132d7b5d724f3' + '14db30e2b5f891214adf035312aeab2a') +sha256sums=('9dfb1d68493f8cee5d2e12a1bfa604404834e11809f4c908d65b9100a9af1b85' + '4dcfb5a31d71ce301c3556c434bed551753db077a95e3bd51918c2d40c34259f') + +prepare() { + # prevent installing executables during build + patch -Np1 -i fix-install.patch +} build() { - R CMD INSTALL ${_pkgname}_${_pkgver}.tar.gz -l "${srcdir}" + mkdir -p build + R CMD INSTALL "$_pkgname" -l build \ + --configure-args="--enable-ipv6 --enable-threads" } 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" + + # symlink executables to R_HOME + install -d "$pkgdir/usr/lib/R/bin" + ln -s "../library/$_pkgname/libs/Rserve"{,.dbg} "$pkgdir/usr/lib/R/bin" } -# vim:set ts=2 sw=2 et: diff --git a/BioArchLinux/r-rserve/fix-install.patch b/BioArchLinux/r-rserve/fix-install.patch new file mode 100644 index 0000000000..da7df58e2b --- /dev/null +++ b/BioArchLinux/r-rserve/fix-install.patch @@ -0,0 +1,13 @@ +diff --git a/Rserve/src/Makevars.in b/Rserve/src/Makevars.in +index 75fa869..80a9a63 100644 +--- a/Rserve/src/Makevars.in ++++ b/Rserve/src/Makevars.in +@@ -14,8 +14,6 @@ server: $(SERVER_SRC) $(SERVER_H) + $(CC) -DSTANDALONE_RSERVE -DRSERV_DEBUG -DNODAEMON -I. -Iinclude $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(PKG_CPPFLAGS) $(EMBED_CPPFLAGS) $(PKG_CFLAGS) -o Rserve.dbg $(SERVER_SRC) $(LDFLAGS) $(ALL_LIBS) $(PKG_LIBS) + + # merging to bin/Rserve works only if installed from sources, won't work for binary +- -./mergefat Rserve "$(R_HOME)/bin/Rserve" +- -./mergefat Rserve.dbg "$(R_HOME)/bin/Rserve.dbg" + + client: config.h + cp config.h client/cxx/ diff --git a/BioArchLinux/r-rserve/lilac.py b/BioArchLinux/r-rserve/lilac.py index 620556bc87..0cef6699b7 100644 --- a/BioArchLinux/r-rserve/lilac.py +++ b/BioArchLinux/r-rserve/lilac.py @@ -1,12 +1,18 @@ #!/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_license = "GPL-2 | file LICENSE", + expect_systemrequirements = "libR, GNU make", + ) def post_build(): git_pkgbuild_commit() + update_aur_repo() diff --git a/BioArchLinux/r-rserve/lilac.yaml b/BioArchLinux/r-rserve/lilac.yaml index 88a962383c..47dc2bbebd 100644 --- a/BioArchLinux/r-rserve/lilac.yaml +++ b/BioArchLinux/r-rserve/lilac.yaml @@ -1,9 +1,25 @@ build_prefix: extra-x86_64 maintainers: -- github: sukanka +- github: pekkarr + email: pekkarr@protonmail.com update_on: -- regex: Rserve_([\d._-]+).tar.gz - source: regex - url: https://cran.r-project.org/package=Rserve +- source: rpkgs + pkgname: Rserve + repo: cran + md5: true - alias: r -- alias: libssl +- source: alpm + alpm: libxcrypt + repo: core + provided: libcrypt.so + strip_release: true +- source: alpm + alpm: openssl + repo: core + provided: libcrypto.so + strip_release: true +- source: alpm + alpm: openssl + repo: core + provided: libssl.so + strip_release: true