Files
jas/jas.spec

84 lines
2.9 KiB
RPMSpec

#
# spec file for package jas
#
# Copyright (c) 2023 SUSE LLC
#
# 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/
#
Name: jas
Version: 2.7.200
Release: 0
Summary: Java Algebra System
License: GPL-2.0 AND LGPL-2.1
Group: Development/Libraries/Java
URL: https://krum.rz.uni-mannheim.de/jas/
Source0: https://github.com/kredel/java-algebra-system/archive/refs/tags/v%{version}.tar.gz
Patch0: jas-java8.patch
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(org.apache.logging.log4j:log4j-api)
BuildArch: noarch
%description
The Java Algebra System (JAS) is an object oriented, type safe and
multi-threaded approach to computer algebra. JAS provides a well designed
software library using generic types for algebraic computations implemented in
the Java programming language using the JVM runtime infrastructure. The library
can be used as any other Java software package or it can be used interactively
or interpreted through a jython (Java Python) or jruby (Java Ruby) front end,
there is also an Android App based on Ruboto (jruby for Android). The focus of
JAS is at the moment on commutative, solvable and non-commutative polynomials,
power series, Groebner bases, factorization, real and complex roots and
applications. By the use of Java as implementation language JAS is 64-bit and
multi-core CPU ready and can make use of mutiple CPUs where available. JAS can
run on a wide variety of devices ranging from Android to compute clusters
(using MPJ a Java Message Passing Interface (MPI) or OpenMPI).
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%prep
%setup -q -n java-algebra-system-%{version}
%patch -P 0 -p1
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin :maven-source-plugin
%pom_xpath_replace 'pom:project/pom:version/text()' %{version}
%pom_xpath_remove 'pom:plugin[pom:artifactId/text()="maven-compiler-plugin"]//pom:configuration'
%{mvn_file} : %{name}
%build
LANG=C.UTF-8 %{mvn_build} -f -- \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
-Dsource=8
%install
%mvn_install
%files -f .mfiles
%license COPYING*
%doc README
%files javadoc -f .mfiles-javadoc
%license COPYING*
%changelog