Files
apache-sis/apache-sis.spec

114 lines
4.2 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package apache-sis
#
# Copyright (c) 2025 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/
#
%global short_name sis
Name: apache-%{short_name}
Version: 1.3
Release: 0
Summary: Java language library for developing geospatial applications following
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://%{short_name}.apache.org/
Source: https://github.com/apache/%{short_name}/archive/refs/tags/%{version}.tar.gz
BuildRequires: fdupes
BuildRequires: java-devel >= 17
BuildRequires: maven-local
BuildRequires: mvn(com.esri.geometry:esri-geometry-api)
BuildRequires: mvn(jakarta.servlet:jakarta.servlet-api)
BuildRequires: mvn(jakarta.xml.bind:jakarta.xml.bind-api)
BuildRequires: mvn(javax.xml.bind:jaxb-api)
BuildRequires: mvn(org.apache.derby:derby)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache:apache:pom:)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.locationtech.jts:jts-core)
BuildRequires: mvn(org.opengis:geoapi-parent:pom:)
BuildRequires: mvn(org.osgi:osgi.core)
BuildRequires: mvn(org.postgresql:postgresql)
BuildArch: noarch
%description
SIS is a Java language library for developing geospatial applications. The
library is an implementation of GeoAPI 3.0.2 interfaces and can be used for
desktop or server applications. Apache SIS provides data structures for
geographic features and associated metadata along with methods to manipulate
those data structures. The SIS metadata module forms the base of the library
and enables the creation of metadata objects which comply with the ISO 19115
international standard. The SIS referencing module enable the construction of
geodetic data structures for geospatial referencing as defined by ISO 19111
standard, along with the associated operations which enable the transformation
of coordinates between different reference systems. The SIS storage modules
provide a common approach to the reading and writing of metadata, features and
coverages applicable to simple imagery as to many dimensional data structures.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%prep
%setup -q -n %{short_name}-%{version}
sed -i -e 's/\<javax\.servlet/jakarta.servlet/g' \
core/sis-utility/src/main/java/org/apache/sis/internal/system/ServletListener.java
sed -i -e 's/{@value Reflection\.TYPE_NAME/@value Reflection#TYPE_NAME/' \
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Column.java
%pom_change_dep -r org.osgi:org.osgi.core org.osgi:osgi.core
%pom_xpath_remove pom:addClasspath
%pom_xpath_remove pom:classpathLayoutType
%pom_disable_module sis-cloud-aws cloud
%pom_disable_module sis-netcdf storage
%pom_disable_module sis-openoffice application
%pom_disable_module sis-japan-profile profiles
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-checkstyle-plugin
%pom_remove_plugin -r :maven-javadoc-plugin
%pom_change_dep -r javax:javaee-api jakarta.servlet:jakarta.servlet-api
%pom_remove_dep org.apache.sis.storage:sis-netcdf application/sis-console
%pom_add_dep javax.xml.bind:jaxb-api
%pom_xpath_inject 'pom:plugin[pom:artifactId="maven-plugin-plugin"]' \
'<configuration><goalPrefix>sis-build-helper</goalPrefix></configuration>' \
core/sis-build-helper
%build
%{mvn_build} -f
%install
%mvn_install
%fdupes %{buildroot}%{_javadocdir}/%{name}
%files -f .mfiles
%license LICENSE NOTICE
%doc README
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%changelog