File R-impermanentlosscalc.spec of Package R-impermanentlosscalc
# Automatically generated by CRAN2OBS
#
# Spec file for package impermanentlosscalc
# This file is auto-generated using information in the package source,
# esp. Description and Summary. Improvements in that area should be
# discussed with upstream.
#
# Copyright (c) 2026 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global packname impermanentlosscalc
%global rlibdir %{_libdir}/R/library
Name: R-%{packname}
Version: 0.1.0
Release: 0
Summary: Calculate Impermanent Loss in Automated Market Maker (AMM) Liquidity Pools
Group: Development/Libraries/Other
License: GPL-3
URL: http://cran.r-project.org/web/packages/%{packname}
Source: impermanentlosscalc_0.1.0.tar.gz
Requires: R-base
Requires: R-ggplot2
Requires: R-cli
Requires: R-gtable
Requires: R-isoband
Requires: R-lifecycle
Requires: R-rlang
Requires: R-S7
Requires: R-scales
Requires: R-vctrs
Requires: R-withr
Requires: R-glue
Requires: R-cpp11
Requires: R-farver
Requires: R-labeling
Requires: R-R6
Requires: R-RColorBrewer
Requires: R-viridisLite
# %%if 0%%{?sle_version} > 120400 || 0%%{?is_opensuse}
# # Three others commonly needed
# BuildRequires: tex(ae.sty)
# BuildRequires: tex(fancyvrb.sty)
# BuildRequires: tex(inconsolata.sty)
# BuildRequires: tex(natbib.sty)
# %else
# BuildRequires: texlive
# %endif
# BuildRequires: texinfo
BuildRequires: fdupes
BuildRequires: R-base
BuildRequires: R-ggplot2
BuildRequires: R-cli
BuildRequires: R-gtable
BuildRequires: R-isoband
BuildRequires: R-lifecycle
BuildRequires: R-rlang
BuildRequires: R-S7
BuildRequires: R-scales
BuildRequires: R-vctrs
BuildRequires: R-withr
BuildRequires: R-glue
BuildRequires: R-cpp11-devel
BuildRequires: R-farver
BuildRequires: R-labeling
BuildRequires: R-R6
BuildRequires: R-RColorBrewer
BuildRequires: R-viridisLite
Suggests: R-knitr
Suggests: R-rmarkdown
Suggests: R-testthat
%description
Computes the key metrics for assessing the performance of a liquidity
provider (LP) position in a weighted multi-asset Automated Market Maker
(AMM) pool. Calculates the nominal and percentage impermanent loss (IL)
by comparing the portfolio value inside the pool (based on the weighted
geometric mean of price ratios) against the value of simply holding the
assets outside the pool (based on the weighted arithmetic mean). The
primary function, `impermanent_loss()`, incorporates the effect of
earned trading fees to provide the LP's net profit and loss relative to
a holding strategy, using a methodology derived from Tiruviluamala, N.,
Port, A., and Lewis, E. (2022) <doi:10.48550/arXiv.2203.11352>.
%prep
%setup -q -c -n %{packname}
# the next line is needed, because we build without --clean in between two packages
rm -rf ~/.R
%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
%fdupes -s %{buildroot}%{rlibdir}
#%%check
#%%{_bindir}/R CMD check %%{packname}
%files
%dir %{rlibdir}/%{packname}
%doc %{rlibdir}/%{packname}/DESCRIPTION
%{rlibdir}/%{packname}/INDEX
%{rlibdir}/%{packname}/Meta
%{rlibdir}/%{packname}/NAMESPACE
%{rlibdir}/%{packname}/R
%doc %{rlibdir}/%{packname}/doc
%doc %{rlibdir}/%{packname}/help
%doc %{rlibdir}/%{packname}/html
%changelog