Files
colt/colt.spec

97 lines
3.4 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# spec file for package colt
#
# Copyright (c) 2024 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 https://bugs.opensuse.org/
#
Name: colt
Version: 1.2.0
Release: 0
Summary: Libraries for High Performance Scientific and Technical Computing in Java
License: LGPL-2.1-only AND SUSE-Public-Domain
Group: Development/Libraries/Java
URL: https://dst.lbl.gov/ACSSoftware/%{name}/
Source0: %{url}/colt-download/releases/%{name}-%{version}.tar.gz
Source1: https://repo1.maven.org/maven2/%{name}/%{name}/%{version}/%{name}-%{version}.pom
BuildRequires: fdupes
BuildRequires: maven-local
BuildRequires: mvn(concurrent:concurrent)
BuildArch: noarch
%description
Colt provides a set of Open Source Libraries for High Performance Scientific
and Technical Computing in Java.
Scientific and technical computing, as, for example, carried out at CERN, is
characterized by demanding problem sizes and a need for high performance at
reasonably small memory footprint. There is a perception by many that the Java
language is unsuited for such work. However, recent trends in its evolution
suggest that it may soon be a major player in performance sensitive scientific
and technical computing. For example, IBM Watsons Ninja project showed that
Java can indeed perform BLAS matrix computations up to 90% as fast as optimized
Fortran. The Java Grande Forum Numerics Working Group provides a focal point
for information on numerical computing in Java. With the performance gap
steadily closing, Java has recently found increased adoption in the field. The
reasons include ease of use, cross-platform nature, built-in support for
multi-threading, network friendly APIs and a healthy pool of available
developers. Still, these efforts are to a significant degree hindered by the
lack of foundation toolkits broadly available and conveniently accessible in C
and Fortran.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%prep
%setup -q -n %{name}
rm -rf doc/api lib src/hep/aida/ref/doc-files/aidaref.jar
mv doc/licenses .
cp %{SOURCE1} pom.xml
mv src _src
mkdir -p src/main
mv _src src/main/java
# Underscore in not valid identifier
sed -i -e 's/\<_\>/_null/g' src/main/java/cern/colt/matrix/DoubleFactory2D.java
sed -i -e 's/\r//' doc/dgemmColt1.0.3ibm1.4lxPIII_2.txt licenses/concurrent.LICENSE.txt
sed -i -e 's#href="api/#href="file:%{_javadocdir}/%{name}/#g' doc/{index,dependencies}.html
%{mvn_file} : %{name}
%build
%{mvn_build} -f -- \
-Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ) \
-Dproject.build.sourceEncoding=latin1
%install
%mvn_install
%fdupes %{buildroot}%{_javadocdir}/%{name}
%files -f .mfiles
%license licenses/*
%doc doc/*
%files javadoc -f .mfiles-javadoc
%license licenses/*
%changelog