%global __brp_check_rpaths %{nil}
%global packname  TreeSim
%global packver   2.4
%global rlibdir   /usr/local/lib/R/library

Name:             R-CRAN-%{packname}
Version:          2.4
Release:          2%{?dist}%{?buildtag}
Summary:          Simulating Phylogenetic Trees

License:          GPL-2
URL:              https://cran.r-project.org/package=%{packname}
Source0:          %{url}&version=%{packver}#/%{packname}_%{packver}.tar.gz


BuildRequires:    R-devel
Requires:         R-core
BuildArch:        noarch
BuildRequires:    R-CRAN-ape 
BuildRequires:    R-CRAN-geiger 
Requires:         R-CRAN-ape 
Requires:         R-CRAN-geiger 

%description
Simulation methods for phylogenetic trees where (i) all tips are sampled
at one time point or (ii) tips are sampled sequentially through time. (i)
For sampling at one time point, simulations are performed under a constant
rate birth-death process, conditioned on having a fixed number of final
tips (sim.bd.taxa()), or a fixed age (sim.bd.age()), or a fixed age and
number of tips (sim.bd.taxa.age()). When conditioning on the number of
final tips, the method allows for shifts in rates and mass extinction
events during the birth-death process (sim.rateshift.taxa()). The function
sim.bd.age() (and sim.rateshift.taxa() without extinction) allow the
speciation rate to change in a density-dependent way. The LTT plots of the
simulations can be displayed using LTT.plot(), LTT.plot.gen() and
LTT.average.root(). TreeSim further samples trees with n final tips from a
set of trees generated by the common sampling algorithm stopping when a
fixed number m>>n of tips is first reached (sim.gsa.taxa()). This latter
method is appropriate for m-tip trees generated under a big class of
models (details in the sim.gsa.taxa() man page). For incomplete phylogeny,
the missing speciation events can be added through simulations (corsim()).
(ii) sim.rateshifts.taxa() is generalized to sim.bdsky.stt() for serially
sampled trees, where the trees are conditioned on either the number of
sampled tips or the age. Furthermore, for a multitype-branching process
with sequential sampling, trees on a fixed number of tips can be simulated
using sim.bdtypes.stt.taxa(). This function further allows to simulate
under epidemiological models with an exposed class. The function
sim.genespeciestree() simulates coalescent gene trees within birth-death
species trees, and sim.genetree() simulates coalescent gene trees.

%prep
%setup -q -c -n %{packname}

find -type f -executable -exec grep -Iq . {} \; -exec sed -i -e '$a\' {} \;
[ -d %{packname}/src ] && find %{packname}/src -type f -exec \
  sed -i 's@/usr/bin/strip@/usr/bin/true@g' {} \; || true

%build

%install

mkdir -p %{buildroot}%{rlibdir}
%{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname}

test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so)
rm -f %{buildroot}%{rlibdir}/R.css

%files
%{rlibdir}/%{packname}