On 05/26/2018 12:04 PM, Alex Branham via aur-general wrote: > Hi all - > > I'd like to use pacman to manage R packages, similar to how you can for > other languages (e.g. the python packages are all named python-*). There > are some packages available already, but not many (I count about 130 > currently). I wrote a script[1] that generates PKGBUILDS for all the > packages on the Comprehensive R Archive Network (CRAN). There's 12,593 > packages on CRAN as of today. > > If you evaluate the script, then call write_all_pkgbuilds(), R will put > each PKGBUILD into PKGBUILDS/r-cran-<pkgname>/PKGBUILD. Here's an > example of the output.[2] It doesn't generate .SRCINFO or setup a git > repo (yet). It also doesn't take into account (yet) that there are > already 130ish R packages on the AUR. I named them r-cran-* rather than > r-* because 1) it's clearer where the packages are coming from and 2) > it's a pain to search for r-* > > Is this something people would like to have in the AUR? I figured I > should ask before adding ~12.5k packages. > > Any and all comments/feedback appreciated! > > Thanks, > Alex
If you're generating PKGBUILDs for upload to the AUR, they should be well-written. As observed, injecting "cran" into the name is confusing, I think anyone looking for an R package will know how to find it based on the rest of the name component. I doubt anyone is just looking randomly to see which R packages are available, but if they are, the most effective way would be to download https://aur.archlinux.org/packages.gz and use regular expressions to find packages matching the pattern ^r- This would find the regardless of whether they mentioned cran, and in a highly effective manner. > Footnotes: > [1] > https://github.com/jabranham/r-cran-pkgbuilds/blob/master/gen-R-PKGBUILDS.R > [2] > > # Maintainer: Alex Branham <email-address-removed> > _cranname=A3 > _cranver=1.0.0 > pkgname=r-cran-a3 > pkgver=1.0.0 Why is cryanver different from pkgver? > pkgrel=1 > pkgdesc="Supplies tools for tabulating and analyzing the results of > predictive models. The methods employed are applicable to virtually any > predictive model and make comparisons between different methodologies > straightforward." pkgdesc should be 80 chars, not 218 > url="https://cran.r-project.org/web/packages/${_cranname}/index.html" > arch=('x86_64') > license=('GPL') > depends=('r-cran-xtable' 'r-cran-pbapply') > > optdepends=('r-cran-randomforest' 'r-cran-e1071') > > source=("https://cran.r-project.org/src/contrib/${_cranname}_${_cranver}.tar.gz") > md5sums=('027ebdd8affce8f0effaecfcd5f5ade2') > package() { > mkdir -p ${pkgdir}/usr/lib/R/library > cd ${srcdir} > R CMD INSTALL ${_cranname} -l ${pkgdir}/usr/lib/R/library > } This compiles source code into x86_64 ELF executable code, in the package() step? Also ${srcdir} without quotes will guaranteedly break on at least some users who build from directories which contain spaces. You carefully quote array assignments, which do *not* contain spaces (note, I'm not saying this was the wrong decision!) then neglect to do so for the only two variables which contain content not under your control! -- Eli Schwartz Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature