# # 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 Watson’s 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