diff --git a/dev-R/fansi/Manifest b/dev-R/fansi/Manifest
new file mode 100644
index 0000000000..f9013b6379
--- /dev/null
+++ b/dev-R/fansi/Manifest
@@ -0,0 +1 @@
+DIST fansi_0.4.1.tar.gz 270906 BLAKE2B fe8f8fdd9f99292c787deb3cef08b89afcbfc7c7b0a56ffe8f29877afd2fac46d7144c7acabe5d1a49c0ae40c0842a21464cec32c3b194b823798489cf6fa3b3 SHA512 01289228240f245f13d4f65f368bec183d779018038f0e4f5b4aa6379676f5eda10d32b9c8a5c373d1cfcadec449b6d3efe05f0e09161430263e08be7da58ffc
diff --git a/dev-R/fansi/fansi-0.4.1.ebuild b/dev-R/fansi/fansi-0.4.1.ebuild
new file mode 100644
index 0000000000..6293e8e99f
--- /dev/null
+++ b/dev-R/fansi/fansi-0.4.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit R-packages-guru
+
+DESCRIPTION='ANSI Control Sequence Aware String Functions'
+HOMEPAGE="
+ https://github.com/brodieG/fansi
+ https://cran.r-project.org/package=fansi
+"
+SRC_URI="http://cran.r-project.org/src/contrib/fansi_0.4.1.tar.gz"
+LICENSE='GPL-2+'
+
+IUSE="${IUSE-}"
+DEPEND=">=dev-lang/R-3.1.0"
diff --git a/dev-R/fansi/metadata.xml b/dev-R/fansi/metadata.xml
new file mode 100644
index 0000000000..2c74ee0126
--- /dev/null
+++ b/dev-R/fansi/metadata.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ lssndrbarbieri@gmail.com
+ Alessandro Barbieri
+
+
+Counterparts to R string manipulation functions that account for the effects of ANSI text formatting control sequences.
+
+
+ https://github.com/brodieG/fansi/issues
+ https://cran.r-project.org/web/packages/fansi/news/news.html
+ https://cran.r-project.org/web/packages/fansi/fansi.pdf
+
+ Brodie Gaslam
+ brodie.gaslam@yahoo.com
+
+ brodieG/fansi
+
+
diff --git a/dev-R/magrittr/Manifest b/dev-R/magrittr/Manifest
new file mode 100644
index 0000000000..cbbd05e5a5
--- /dev/null
+++ b/dev-R/magrittr/Manifest
@@ -0,0 +1 @@
+DIST magrittr_1.5.tar.gz 200504 BLAKE2B 6f68ca7449dd157688fea924800a0b9af9b6eb4c696b50e848fd3d97ec457ee488b9f524f756c5619c3293b343aab9547a6e784319e96e769446cf4d236f1cf4 SHA512 d1e66bab279a08f85405fedee0efea0dc4af058e76d8c0151c620825e01a8cf766bf89eaf24a64c67cadbad05c18f780006837ae0e9ded32c2637ed4df984279
diff --git a/dev-R/magrittr/magrittr-1.5.ebuild b/dev-R/magrittr/magrittr-1.5.ebuild
new file mode 100644
index 0000000000..d418d0a372
--- /dev/null
+++ b/dev-R/magrittr/magrittr-1.5.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit R-packages-guru
+
+DESCRIPTION='A Forward-Pipe Operator for R'
+HOMEPAGE="https://cran.r-project.org/package=magrittr"
+SRC_URI="http://cran.r-project.org/src/contrib/magrittr_1.5.tar.gz"
+LICENSE='MIT'
+
+IUSE="${IUSE-}"
diff --git a/dev-R/magrittr/metadata.xml b/dev-R/magrittr/metadata.xml
new file mode 100644
index 0000000000..adfd45e9c9
--- /dev/null
+++ b/dev-R/magrittr/metadata.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ lssndrbarbieri@gmail.com
+ Alessandro Barbieri
+
+
+Provides a mechanism for chaining commands with a new forward-pipe operator, %>%. This operator will forward a value, or the result of an expression, into the next function call/expression. There is flexible support for the type of right-hand side expressions. For more information, see package vignette. To quote Rene Magritte, "Ceci n'est pas un pipe."
+
+
+ https://cran.r-project.org/web/packages/magrittr/magrittr.pdf
+
+ Stefan Milton Bache
+ stefan@stefanbache.dk
+
+
+
diff --git a/dev-R/rematch/Manifest b/dev-R/rematch/Manifest
new file mode 100644
index 0000000000..31ffffa287
--- /dev/null
+++ b/dev-R/rematch/Manifest
@@ -0,0 +1 @@
+DIST rematch_1.0.1.tar.gz 3719 BLAKE2B 5f999c3de459864507880dfd9084bf3c35c3f4c048a264d8bf4cb77c93e350c677d082c66fc1f16582affc8e3d215ab647ae98be4354ac5333cd01728be1461d SHA512 b97c4d8c4d8fd3706e8d1f97eb1ea21fb3cd45289933bf4559b5131b6cfae37434a7fae5f2bd07acc8bb3b9e40874bd893b7a5e5bc63d6a4dcf624a5d51f0ab1
diff --git a/dev-R/rematch/metadata.xml b/dev-R/rematch/metadata.xml
new file mode 100644
index 0000000000..469ee641fb
--- /dev/null
+++ b/dev-R/rematch/metadata.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ lssndrbarbieri@gmail.com
+ Alessandro Barbieri
+
+
+A small wrapper on 'regexpr' to extract the matches and captured groups from the match of a regular expression to a character vector.
+
+
+ https://github.com/MangoTheCat/rematch/issues
+ https://cran.r-project.org/web/packages/rematch/news.html
+ https://cran.r-project.org/web/packages/rematch/rematch.pdf
+
+ Gabor Csardi
+ gcsardi@mango-solutions.com
+
+ MangoTheCat/rematch
+
+
diff --git a/dev-R/rematch/rematch-1.0.1.ebuild b/dev-R/rematch/rematch-1.0.1.ebuild
new file mode 100644
index 0000000000..0ac3c338bf
--- /dev/null
+++ b/dev-R/rematch/rematch-1.0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit R-packages-guru
+
+DESCRIPTION='Match Regular Expressions with a Nicer API'
+HOMEPAGE="
+ https://github.com/MangoTheCat/rematch
+ https://cran.r-project.org/package=rematch
+"
+SRC_URI="http://cran.r-project.org/src/contrib/rematch_1.0.1.tar.gz"
+LICENSE='MIT'
+
+IUSE="${IUSE-}"
+RDEPEND=""
diff --git a/eclass/R-packages-guru.eclass b/eclass/R-packages-guru.eclass
new file mode 100644
index 0000000000..0f28749108
--- /dev/null
+++ b/eclass/R-packages-guru.eclass
@@ -0,0 +1,54 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils
+
+EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install pkg_postinst
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="byte-compile"
+
+DEPEND="dev-lang/R"
+RDEPEND="${DEPEND}"
+
+R-packages-guru_src_unpack() {
+ unpack ${A}
+ if [[ -d "${PN//_/.}" ]] && [[ ! -d "${P}" ]]; then
+ mv ${PN//_/.} "${P}"
+ fi
+}
+
+if has "${EAPI:-0}" 0 1 2 3 4 5; then
+ R-packages-guru_src_prepare() {
+ epatch_user
+ }
+else
+ R-packages-guru_src_prepare() {
+ default
+ }
+fi
+
+R-packages-guru_src_compile() {
+ MAKEFLAGS="CFLAGS=${CFLAGS// /\\ } CXXFLAGS=${CXXFLAGS// /\\ } FFLAGS=${FFLAGS// /\\ } FCFLAGS=${FCFLAGS// /\\ } LDFLAGS=${LDFLAGS// /\\ }" \
+ R CMD INSTALL . -l "${WORKDIR}" $(use byte-compile && echo "--byte-compile")
+}
+
+R-packages-guru_src_install() {
+ insinto /usr/$(get_libdir)/R/site-library
+ doins -r "${WORKDIR}"/${PN//_/.}
+}
+
+R-packages-guru_pkg_postinst() {
+ if [[ "${_UNRESOLVABLE_PACKAGES:-}" ]]; then
+ # _UNRESOLVABLE_PACKAGES is only set if it has more than zero items
+ local _max=${#_UNRESOLVABLE_PACKAGES[*]} i=
+
+ einfo "Dependency(-ies):"
+ for (( i=0; i<"${_max}"; i++ )); do
+ einfo "- ${_UNRESOLVABLE_PACKAGES[$i]}"
+ done
+ einfo 'are (is) suggested by upstream but could not be found.'
+ einfo 'Please install it manually from the R interpreter if you need it.'
+ fi
+}
diff --git a/media-video/syncplay/metadata.xml b/media-video/syncplay/metadata.xml
index 0bac473b3d..af8b590f5f 100644
--- a/media-video/syncplay/metadata.xml
+++ b/media-video/syncplay/metadata.xml
@@ -11,5 +11,6 @@
Install the Syncplay server
Pull in VLC with the lua flag
Pull in MPV with the lua flag
+ Pull in MPlayer
diff --git a/media-video/syncplay/syncplay-1.6.4_p1.ebuild b/media-video/syncplay/syncplay-1.6.4_p1.ebuild
index 3a46c75750..95626f1563 100644
--- a/media-video/syncplay/syncplay-1.6.4_p1.ebuild
+++ b/media-video/syncplay/syncplay-1.6.4_p1.ebuild
@@ -18,14 +18,20 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="+client +server vlc mpv"
-REQUIRED_USE="vlc? ( client ) mpv? ( client )"
+IUSE="+client +server vlc mpv mplayer"
+REQUIRED_USE="
+ vlc? ( client )
+ mpv? ( client )
+ mplayer? ( client )
+ client? ( || ( vlc mpv mplayer ) )
+"
RDEPEND="
dev-python/certifi[${PYTHON_USEDEP}]
dev-python/twisted[${PYTHON_USEDEP}]
vlc? ( media-video/vlc[lua] )
mpv? ( media-video/mpv[lua] )
+ mplayer? ( media-video/mplayer )
"
# RDEPEND on PySide2 for gui, but not packaged here at the moment
@@ -53,6 +59,9 @@ pkg_postinst() {
if use client; then
elog "Syncplay supports the following players:"
- elog "media-video/mpv, media-video/mplayer2, media-video/vlc"
+ elog "media-video/mpv, media-video/mplayer, media-video/vlc\n"
+ optfeature "using Syncplay with VLC" media-video/vlc[lua]
+ optfeature "using Syncplay with MPV" media-video/mpv[lua]
+ optfeature "using Syncplay with MPlayer" media-video/mplayer
fi
}
diff --git a/media-video/vidify/Manifest b/media-video/vidify/Manifest
index 3d3dcfec30..7ac79eafc7 100644
--- a/media-video/vidify/Manifest
+++ b/media-video/vidify/Manifest
@@ -1 +1 @@
-DIST vidify-2.2.4.tar.gz 2909082 BLAKE2B 555208341b73ee8ef4d8b2422effced0769bc2bbdc3836cf7568cd81e546a8f3283e958392b29edb9e6b7a961989a01ce640dc840c679697cd181a116e28a582 SHA512 e874ed5166bab67af06381e8479ef416ddf794044f1a7c6f8bd23502d775ec7597404965f357b09c632f97289bf0e73dc0c902319b7d153b8330afde1442d7fb
+DIST vidify-2.2.5.tar.gz 2906471 BLAKE2B f66de21762697182e63317cd78feb7b70d0e10fb0186c8f4a8caff355772a8d0cded6f7126ba2e0d9c020c3858549e38e4024464db8c8b563887660ab47bc196 SHA512 c5d2a0011b65e4bd5487bfe2c24cd24c4e383c242dafbd76888635a1779ac9b23b01225dac65f09ea2c08eb15162243b30cd50da669057f08d26d8ebeb23121c
diff --git a/media-video/vidify/vidify-2.2.4.ebuild b/media-video/vidify/vidify-2.2.5.ebuild
similarity index 100%
rename from media-video/vidify/vidify-2.2.4.ebuild
rename to media-video/vidify/vidify-2.2.5.ebuild
diff --git a/profiles/categories b/profiles/categories
new file mode 100644
index 0000000000..bffe29709e
--- /dev/null
+++ b/profiles/categories
@@ -0,0 +1,2 @@
+dev-octave
+dev-R
diff --git a/profiles/use.desc b/profiles/use.desc
new file mode 100644
index 0000000000..5fd5753594
--- /dev/null
+++ b/profiles/use.desc
@@ -0,0 +1 @@
+byte-compile - enable byte compiling
diff --git a/sci-libs/slicot/Manifest b/sci-libs/slicot/Manifest
new file mode 100644
index 0000000000..ac5de032d1
--- /dev/null
+++ b/sci-libs/slicot/Manifest
@@ -0,0 +1 @@
+DIST slicot_5.0+20101122.orig.tar.gz 2489463 BLAKE2B dc34617f84b51f6be9bb471b30dd8d7cf3dd67b1a0d6ec14af33ccd49aee33ee39b657af6d619059da42734d86eb23e0faf7827db36152001263c4c131234aad SHA512 bef2707bf484636a5c58325561e3f342f08887458020c4922a2b346b88047b48e3f2d372c5c984226856be5c327f2535c32cf299baa553b8bf0fbeea896d6c9b
diff --git a/sci-libs/slicot/files/Makefile b/sci-libs/slicot/files/Makefile
new file mode 100755
index 0000000000..f15cc08463
--- /dev/null
+++ b/sci-libs/slicot/files/Makefile
@@ -0,0 +1,26 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+.PHONY: default
+default: libslicot.so
+
+SLICOT_SRC=$(sort $(shell echo src/*.f))
+SLICOT_OBJ=$(SLICOT_SRC:.f=.o)
+
+shared_dir:
+ mkdir -p $(subst _dir,,$(@))
+ touch $@
+
+$(subst src/,shared/,$(SLICOT_OBJ)): \
+ shared/%.o : src/%.f shared_dir
+
+ $(F77) $(FFLAGS) -fPIC -c $< -o $@
+
+libslicot.so: libslicot.so.$(SO)
+ ln -snf $< $@
+
+libslicot.so.$(SO): libslicot.so.$(VERS)
+ ln -snf $< $@
+
+libslicot.so.$(VERS): $(subst src/,shared/,$(SLICOT_OBJ))
+ $(F77) -fPIC ${FFLAGS} $(LDFLAGS) -shared -Wl,-soname=libslicot.so.$(SO) -o $@ $^
diff --git a/sci-libs/slicot/metadata.xml b/sci-libs/slicot/metadata.xml
new file mode 100644
index 0000000000..4aaef1d4d6
--- /dev/null
+++ b/sci-libs/slicot/metadata.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ lssndrbarbieri@gmail.com
+ Alessandro Barbieri
+
+
+ mailto:vsima@ici.ro
+
+ vsima@ici.ro
+ Vasile Sima
+
+
+
+The subroutine library SLICOT provides Fortran 77 implementations of numerical algorithms for computations in systems and control theory. Based on numerical linear algebra routines from BLAS and LAPACK libraries, SLICOT provides methods for the design and analysis of control systems. The basic ideas behind the library are:
+
+ usefulness of algorithms;
+ robustness, algorithms must either return reliable results or an error or warning indicator;
+ numerical stability and accuracy: the results are as good as can be expected when working at a given precision. If possible an estimate of the achieved accuracy should be given;
+ performance with respect to speed and memory requirements. Although important because of ever increasing complexity of control problems, this objective may never be met at cost of the two previous ones;
+ portability and reusability: the library should be independent of platforms;
+ standardisation: the library is based on rigorous programming and documentation standards;
+ benchmarking, i.e., a standardised set of examples that allows an evaluation of the performance of a method as well as the implementation with respect to correctness, accuracy, and speed. Benchmarking gives also insight in the behaviour of the method and its implementation in extreme situations, i.e., for problems where the limit of the possible accuracy is reached.
+
+The current version of SLICOT consists of over 570 user-callable and computational routines in various domains of systems and control. Almost all of these routines have associated on-line documentation. Over 240 routines have associated example programs, data and results. New routines are still in preparation. Due to the use of Fortran 77, reusability of the software is obtained, so SLICOT can serve as the core for various existing and future CACSD platforms and production quality software. SLICOT routines can be linked to MATLAB through a gateway compiler, e.g., the NAG Gateway Generator. Recently, MATLAB or Scilab interfaces have been developed for many routines.
+
+The use of Fortran 77 allows to exploit the structural features of the underlying computational problem and the use of appropriate data structures. This is advantageous for speed of computation and required memory. As the complexity of systems and related control solutions is ever increasing, the issue of speed and memory remains a valid one. The performance of the library has been assessed with respect to numerical quality, computational speed, and memory requirements for a variety of examples. Comparisons indicate that SLICOT routines usually outperform equivalent MATLAB functions, often by orders of magnitude; see Benner e.a. (1997).
+
+
diff --git a/sci-libs/slicot/slicot-5.0_p20101122.ebuild b/sci-libs/slicot/slicot-5.0_p20101122.ebuild
new file mode 100644
index 0000000000..2146050826
--- /dev/null
+++ b/sci-libs/slicot/slicot-5.0_p20101122.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic fortran-2 toolchain-funcs
+
+MY_PV="${PV/_p/+}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Subroutine Library in Systems and Control Theory"
+HOMEPAGE="https://web.archive.org/web/20191022092917/http://www.slicot.org"
+SRC_URI="http://cdn-fastly.deb.debian.org/debian/pool/main/s/${PN}/${PN}_${MY_PV}.orig.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="doc examples"
+
+DEPEND="
+ virtual/blas
+ virtual/lapack
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ default
+ rm -f "${S}/makefile" || die
+ cp "${FILESDIR}/Makefile" "${S}" || die
+}
+
+src_prepare() {
+ export SO="0"
+ export VERS="${SO}.0"
+ append-fflags "$($(tc-getPKG_CONFIG) --libs blas)" "$($(tc-getPKG_CONFIG) --libs lapack)"
+ default
+}
+
+src_install() {
+ dolib.so libslicot.so
+ dolib.so "libslicot.so.${SO}"
+ dolib.so "libslicot.so.${VERS}"
+ use doc && HTML_DOCS=( libindex.html )
+ use doc && HTML_DOCS+=( doc/*.html )
+ einstalldocs
+ if use examples; then
+ insinto "/usr/share/${P}/examples"
+ doins -r examples/.
+ insinto "/usr/share/${P}/examples77"
+ doins -r examples77/.
+ insinto "/usr/share/${P}/benchmark_data"
+ doins -r benchmark_data/.
+ fi
+}