Blob Blame History Raw
%global pkgname circle

Name:           gap-pkg-%{pkgname}
Version:        1.6.3
Release:        1%{?dist}
Summary:        Adjoint groups of finite rings

License:        GPLv2+
URL:            https://gap-packages.github.io/%{pkgname}/
Source0:        https://github.com/gap-packages/%{pkgname}/releases/download/v%{version}/%{pkgname}-%{version}.tar.gz

BuildArch:      noarch
BuildRequires:  gap-devel
BuildRequires:  gap-pkg-laguna
BuildRequires:  GAPDoc-latex
BuildRequires:  tth

Requires:       gap-core

%description
Let R be an associative ring, not necessarily with a unit element.  The
set of all elements of R forms a monoid with the neutral element 0 from
R under the operation r*s = r + s + rs defined for all r,s from R.  This
operation is called 'circle multiplication'; it is also known as 'star
multiplication'.  The monoid of elements of R under circle
multiplication is called the adjoint semigroup of R.  The group of all
invertible elements of this monoid is called the adjoint group of R.

These notions naturally lead to a number of questions about the
connection between a ring and its adjoint group, for example, how the
ring properties will determine properties of the adjoint group; which
groups can appear as adjoint groups of rings; which rings can have
adjoint groups with prescribed properties, etc.

The main objective of the GAP package 'Circle' is to extend GAP
functionality for computations in adjoint groups of associative rings to
make it possible to use the GAP system for the investigation of such
questions.

Circle provides functionality to construct circle objects that will
respect circle multiplication r*s = r + s + rs, create multiplicative
groups, generated by these objects, and compute groups of elements,
invertible with respect to this operation, for finite radical algebras
and finite associative rings without one.

%package doc
Summary:        Circle documentation
Requires:       %{name} = %{version}-%{release}
Requires:       gap-online-help

%description doc
This package contains documentation for gap-pkg-%{pkgname}.

%prep
%autosetup -n %{pkgname}-%{version}

%build
mkdir -p ../pkg
ln -s ../%{pkgname}-%{version} ../pkg
gap -l "$PWD/..;%{_gap_dir}" < makedoc.g
rm -fr ../pkg

# Fix paths in the extracted example files
sed -i "s,$PWD/\.\.,%{_gap_dir},g" tst/circle*.tst

%install
mkdir -p %{buildroot}%{_gap_dir}/pkg
cp -a ../%{pkgname}-%{version} %{buildroot}%{_gap_dir}/pkg
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/{COPYING,README.md}
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/*.{aux,bbl,blg,idx,ilg,ind,log,out,pnr,tex}
rm -f %{buildroot}%{_gap_dir}/pkg/%{pkgname}-%{version}/tst/README.md

%check
gap -l "%{buildroot}%{_gap_dir};%{_gap_dir}" < tst/testall.g

%files
%doc README.md
%license COPYING
%{_gap_dir}/pkg/%{pkgname}-%{version}/
%exclude %{_gap_dir}/pkg/%{pkgname}-%{version}/doc/

%files doc
%docdir %{_gap_dir}/pkg/%{pkgname}-%{version}/doc/
%{_gap_dir}/pkg/%{pkgname}-%{version}/doc/

%changelog
* Wed Nov  6 2019 Jerry James <loganjerry@gmail.com> - 1.6.3-1
- Version 1.6.3

* Thu Oct 24 2019 Jerry James <loganjerry@gmail.com> - 1.6.1-1
- Initial RPM