{% set version = "0.10.0" %}
{% set posix = 'm2-' if win else '' %}
{% set native = 'm2w64-' if win else '' %}

package:
  name: r-nimble
  version: {{ version|replace("-", "_") }}

source:
  url:
    - {{ cran_mirror }}/src/contrib/nimble_{{ version }}.tar.gz
    - {{ cran_mirror }}/src/contrib/Archive/nimble/nimble_{{ version }}.tar.gz
  sha256: 9cd418450130d432d49b9dbe9fe98d9a089644f27ed587b8b242ee28cad56daa

build:
  merge_build_host: true  # [win]
  number: 0
  rpaths:
    - lib/R/lib/
    - lib/

requirements:
  build:
    - {{ compiler('c') }}              # [not win]
    - {{ compiler('m2w64_c') }}        # [win]
    - {{ compiler('cxx') }}            # [not win]
    - {{ compiler('m2w64_cxx') }}      # [win]
    - {{ posix }}filesystem        # [win]
    - {{ posix }}sed               # [win]
    - {{ posix }}grep              # [win]
    - {{ posix }}autoconf
    - {{ posix }}automake          # [not win]
    - {{ posix }}automake-wrapper  # [win]
    - {{ posix }}pkg-config
    - {{ posix }}make
    - {{ posix }}coreutils         # [win]
    - {{ posix }}zip               # [win]
  host:
    - r-base
    - r-r6
    - r-coda
    - r-igraph
    - libopenblas
    - liblapack
    - libblas
  run:
    - r-base
    - {{ native }}gcc-libs         # [win]
    - r-r6
    - r-coda
    - r-igraph
    - {{ compiler('cxx') }}            # [not win]
    - {{ compiler('m2w64_cxx') }}      # [win]
    - {{ posix }}make
    - {{ posix }}coreutils         # [win]

test:
  commands:
    - $R -e "library('nimble'); code <- nimbleCode({ x ~ dnorm(0, 1) }); Rmodel <- nimbleModel(code); Cmodel <- compileNimble(Rmodel)"           # [not win]
    - "\"%R%\" -e \"library('nimble'); code <- nimbleCode({ x ~ dnorm(0, 1) }); Rmodel <- nimbleModel(code); Cmodel <- compileNimble(Rmodel)\""  # [win]

about:
  home: https://r-nimble.org, https://github.com/nimble-dev/nimble
  license: BSD-3-Clause AND GPL-2.0-or-later
  summary: "A system for writing hierarchical statistical models largely compatible with 'BUGS' and 'JAGS', writing nimbleFunctions to operate models and do basic R-style math, and compiling both models and nimbleFunctions via custom- generated C++. 'NIMBLE' includes default methods for MCMC, particle filtering, Monte Carlo\
    \ Expectation Maximization, and some other tools. The nimbleFunction system makes it easy to do things like implement new MCMC samplers from R, customize the assignment of samplers to different parts of a model from R, and compile the new samplers automatically via C++ alongside the samplers 'NIMBLE' provides. 'NIMBLE'\
    \ extends the 'BUGS'/'JAGS' language by making it extensible: New distributions and functions can be added, including as calls to external compiled code. Although most people think of MCMC as the main goal of the 'BUGS'/'JAGS' language for writing models, one can use 'NIMBLE' for writing arbitrary other kinds of model-generic\
    \ algorithms as well. A full User Manual is available at <https://r-nimble.org>."
  license_family: GPL2
  license_file:
    - {{ environ["PREFIX"] }}/lib/R/share/licenses/BSD_3_clause
    - LICENSE
    - {{ environ["PREFIX"] }}/lib/R/share/licenses/GPL-2

extra:
  recipe-maintainers:
    - conda-forge/r
    - brendanf
    - paciorek
    - danielturek

# Package: nimble
# Title: MCMC, Particle Filtering, and Programmable Hierarchical Modeling
# Description: A system for writing hierarchical statistical models largely compatible with 'BUGS' and 'JAGS', writing nimbleFunctions to operate models and do basic R-style math, and compiling both models and nimbleFunctions via custom- generated C++. 'NIMBLE' includes default methods for MCMC, particle filtering, Monte Carlo Expectation Maximization, and some other tools. The nimbleFunction system makes it easy to do things like implement new MCMC samplers from R, customize the assignment of samplers to different parts of a model from R, and compile the new samplers automatically via C++ alongside the samplers 'NIMBLE' provides. 'NIMBLE' extends the 'BUGS'/'JAGS' language by making it extensible: New distributions and functions can be added, including as calls to external compiled code. Although most people think of MCMC as the main goal of the 'BUGS'/'JAGS' language for writing models, one can use 'NIMBLE' for writing arbitrary other kinds of model-generic algorithms as well. A full User Manual is available at <https://r-nimble.org>.
# Version: 0.9.1
# Date: 2020-05-19
# Maintainer: Christopher Paciorek <paciorek@stat.berkeley.edu>
# Authors@R: c( person("Perry", "de Valpine", role = "aut"), person("Christopher", "Paciorek", , "paciorek@stat.berkeley.edu", role = c("aut", "cre")), person("Daniel", "Turek", role = "aut"), person("Nick", "Michaud", role = "aut"), person("Cliff", "Anderson-Bergman", role = "aut"), person("Fritz", "Obermeyer", role = "aut"), person("Claudia", "Wehrhahn Cortes", role = "aut", comment = "Bayesian nonparametrics system"), person("Abel", "Rodr\u00ecguez", role = "aut", comment = "Bayesian nonparametrics system"), person("Duncan", "Temple Lang", role = "aut", comment = "packaging configuration"), person("Sally", "Paganin", role = "aut", comment = "reversible jump MCMC"), person("Jagadish", "Babu", role = "ctb", comment = "code for the compilation system for an early version of NIMBLE"), person("Dao", "Nguyen", role = "ctb", comment = "contributions to the IF2 code"), person("Lauren", "Ponisio", role = "ctb", comment = "contributions to the cross-validation code"), person("Peter", "Sujan", role = "ctb", comment = "multivariate t distribution code") )
# Depends: R (>= 3.1.2)
# Imports: methods,igraph,coda,R6
# Suggests: testthat
# URL: https://r-nimble.org, https://github.com/nimble-dev/nimble
# SystemRequirements: GNU make
# License: BSD_3_clause + file LICENSE | GPL (>= 2)
# Copyright: See COPYRIGHTS file.
# Note: For convenience, the package includes the necessary header files for the Eigen distribution. (This is all that is needed to use that functionality.) You can use an alternative installation of Eigen on your system or the one we provide. The license for the Eigen code is very permissive and allows us to distribute it with this package. See <http://eigen.tuxfamily.org/index.php? title=Main_Page> and also the License section on that page.
# Encoding: UTF-8
# LazyData: false
# Collate: config.R all_utils.R options.R distributions_inputList.R distributions_processInputList.R distributions_implementations.R BUGS_BUGSdecl.R BUGS_contexts.R BUGS_nimbleGraph.R BUGS_modelDef.R BUGS_model.R BUGS_graphNodeMaps.R BUGS_readBUGS.R BUGS_macros.R BUGS_testBUGS.R BUGS_getDependencies.R BUGS_utils.R BUGS_mathCompatibility.R externalCalls.R genCpp_exprClass.R genCpp_operatorLists.R genCpp_RparseTree2exprClasses.R genCpp_initSizes.R genCpp_buildIntermediates.R genCpp_processSpecificCalls.R genCpp_sizeProcessing.R genCpp_toEigenize.R genCpp_insertAssertions.R genCpp_maps.R genCpp_liftMaps.R genCpp_eigenization.R genCpp_addDebugMarks.R genCpp_generateCpp.R RCfunction_core.R RCfunction_compile.R nimbleFunction_util.R nimbleFunction_core.R nimbleFunction_nodeFunction.R nimbleFunction_nodeFunctionNew.R nimbleFunction_Rexecution.R nimbleFunction_compile.R nimbleFunction_keywordProcessing.R nimbleList_core.R types_util.R types_symbolTable.R types_modelValues.R types_modelValuesAccessor.R types_modelVariableAccessor.R types_nimbleFunctionList.R types_nodeFxnVector.R types_numericLists.R cppDefs_utils.R cppDefs_variables.R cppDefs_core.R cppDefs_namedObjects.R cppDefs_ADtools.R cppDefs_BUGSmodel.R cppDefs_RCfunction.R cppDefs_nimbleFunction.R cppDefs_nimbleList.R cppDefs_modelValues.R cppDefs_cppProject.R cppDefs_outputCppFromRparseTree.R cppInterfaces_utils.R cppInterfaces_models.R cppInterfaces_modelValues.R cppInterfaces_nimbleFunctions.R cppInterfaces_otherTypes.R nimbleProject.R initializeModel.R CAR.R MCMC_utils.R MCMC_configuration.R MCMC_build.R MCMC_run.R MCMC_samplers.R MCMC_conjugacy.R MCMC_autoBlock.R MCMC_RJ.R MCEM_build.R crossValidation.R filtering_resamplers.R filtering_auxiliary.R filtering_liuwest.R filtering_IF2.R filtering_enkf.R filtering_bootstrap.R filtering_utils.R BNP_distributions.R BNP_samplers.R NF_utils.R miscFunctions.R makevars.R setNimbleInternalFunctions.R registration.R nimble-package.r zzz.R
# RoxygenNote: 5.0.1
# NeedsCompilation: yes
# Packaged: 2020-05-19 23:11:03 UTC; paciorek
# Author: Perry de Valpine [aut], Christopher Paciorek [aut, cre], Daniel Turek [aut], Nick Michaud [aut], Cliff Anderson-Bergman [aut], Fritz Obermeyer [aut], Claudia Wehrhahn Cortes [aut] (Bayesian nonparametrics system), Abel Rodriguez [aut] (Bayesian nonparametrics system), Duncan Temple Lang [aut] (packaging configuration), Sally Paganin [aut] (reversible jump MCMC), Jagadish Babu [ctb] (code for the compilation system for an early version of NIMBLE), Dao Nguyen [ctb] (contributions to the IF2 code), Lauren Ponisio [ctb] (contributions to the cross-validation code), Peter Sujan [ctb] (multivariate t distribution code)
# Repository: CRAN
# Date/Publication: 2020-05-22 09:00:02 UTC
