# Contributor: Nirosan <pnirosan@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
setvar pkgname = 'R'
setvar pkgver = '3.4.2'
setvar pkgrel = '0'
setvar pkgdesc = ""Language and environment for statistical computing""
setvar url = ""https://www.r-project.org""
setvar arch = ""all !s390x""
setvar license = ""GPL-2 GPL-3 LGPL-2.1""
setvar depends = ""$pkgname-mathlib""
setvar depends_dev = ""gcc gfortran icu-dev libjpeg-turbo libpng-dev make openblas-dev
	pcre-dev>=8.10 readline-dev xz-dev zlib-dev bzip2-dev curl-dev>=7.28
	""
setvar makedepends = ""$depends_dev cairo-dev libxmu-dev openjdk8-jre-base pango-dev
	perl tiff-dev tk-dev
	""
setvar install = ""$pkgname.post-install""
setvar subpackages = ""$pkgname-mathlib $pkgname-dev $pkgname-doc""
setvar source = ""https://cran.r-project.org/src/base/R-${pkgver%%.*}/$pkgname-$pkgver.tar.gz""
setvar builddir = ""$srcdir/$pkgname-$pkgver""

setvar _rhome = ""usr/lib/R""
setvar ldpath = ""/$_rhome/lib""

proc build {
	cd $builddir"

	# CXXFLAGS is propagated to /etc/R/Makeconf that is read when building
	# additional R modules. -D__MUSL__ is needed for some modules like Rcpp.
	# htps://github.com/RcppCore/Rcpp/issues/448
	CXXFLAGS="$CXXFLAGS -D__MUSL__"" ./configure \
		--prefix=/usr \
		--sysconfdir=/etc/R \
		--localstatedir=/var \
		--mandir=/usr/share/man \
		--libdir=/usr/lib \
		rdocdir=/usr/share/doc/R \
		rincludedir=/usr/include/R \
		rsharedir=/usr/share/R \
		--disable-nls \
		--enable-R-shlib \
		--enable-java \
		--without-recommended-packages \
		--with-blas=openblas \
		--with-cairo \
		--with-ICU \
		--with-jpeglib \
		--with-lapack \
		--with-libpng \
		--with-libtiff \
		--with-tcltk \
		--with-x

	make
	make -C src/nmath/standalone
}

# TODO: Run provided test suite.
proc check {
	cd $builddir

	./bin/R --version
	./bin/R --slave --vanilla -e 'print("Hello, world!")'
}

proc package {
	local destdir="$pkgdir/$_rhome"

	cd $builddir

	make DESTDIR="$pkgdir" install

	# Install libRmath.so.
	cd src/nmath/standalone
	make DESTDIR="$pkgdir" install
	cd -

	# Fixup R wrapper script (taken from Arch).
	rm "$destdir"/bin/R
	ln -sf /usr/bin/R "$destdir"/bin/R

	# Remove some useless files (COPYING is duplicated, it will be
	# in -doc, don't worry).
	rm "$destdir"/COPYING "$destdir"/SVN-REVISION

	mkdir -p "$pkgdir"/etc/R

	# R apparently ignores --sysconfdir, so we must manually move configs
	# to /etc/R and make symlinks.
	cd "$destdir"/etc
	local f; for f in * {
		mv $f "$pkgdir"/etc/R/ && ln -sf /etc/R/$f $f
	}
	cd -
}

proc mathlib {
	setvar pkgdesc = ""Standalone math library from the R project""

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libRmath.so* "$subpkgdir"/usr/lib
}

setvar sha512sums = ""d432b65aad8d8ed41a8470365c4d354b83a0e1228413963420f753aead8b84596c9ca3efc58506c8797e887af9dd6fdaf833ac1ad9339ac1ffb4b5aed577803d  R-3.4.2.tar.gz""