6
0
forked from pool/manifold
Files
manifold/manifold.spec

180 lines
7.1 KiB
RPMSpec

#
# spec file for package manifold
#
# 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/
#
Name: manifold
Version: 2025.1.22
Release: 0
Summary: A Java compiler plugin
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://manifold.systems/
Source0: https://github.com/manifold-systems/%{name}/archive/refs/tags/v%{version}.tar.gz
Patch0: 00-snakeyaml-engine-v2.patch
Patch1: deepCopyValue.patch
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(com.graphql-java:graphql-java)
BuildRequires: mvn(com.sparkjava:spark-core)
BuildRequires: mvn(org.antlr:antlr4-runtime)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-javadoc-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.jetbrains:annotations)
BuildRequires: mvn(org.mozilla:rhino)
BuildRequires: mvn(org.snakeyaml:snakeyaml-engine)
BuildConflicts: java >= 9
BuildConflicts: java-devel >= 9
BuildConflicts: java-headless >= 9
# Manifold is not buildable with the openj9 based openjdk
BuildConflicts: java-openj9
BuildConflicts: java-devel-openj9
BuildConflicts: java-openj9-headless
BuildArch: noarch
%description
Manifold is a Java compiler plugin, its features include Metaprogramming,
Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor,
and more.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%prep
%setup -q
%patch -P 0 -p1
%patch -P 1 -p1
%pom_disable_module %{name}-all
# Missing HakariCP dependency
%pom_disable_module %{name}-sql-rt %{name}-deps-parent
%pom_disable_module %{name}-sql-inproc-test %{name}-deps-parent
%pom_disable_module %{name}-sql %{name}-deps-parent
%pom_remove_plugin org.sonatype.central:central-publishing-maven-plugin
%pom_remove_plugin :maven-source-plugin
%build
MAVEN_OPTS="-Xmx1g" \
%{mvn_build} -i -j -f -- \
-Prelease -Drelease=8
%install
%define manifold_artifact() \
if test -f %{1}/target/%{basename:%1}-%{version}.jar ; \
then \
%{mvn_artifact} %{1}/pom.xml %{1}/target/%{basename:%1}-%{version}.jar ; \
if test -d %{1}/target/reports/apidocs ; \
then \
cp -prf %{1}/target/reports/apidocs %{buildroot}%{_javadocdir}/%{basename:%1} ; \
echo %{_javadocdir}/%{basename:%1} >>.mfiles-javadoc ; \
fi \
else \
%{mvn_artifact} %{1}/pom.xml ; \
fi \
%{nil}
install -dm0755 %{buildroot}%{_javadocdir}
%manifold_artifact .
#%%manifold_artifact %%{name}-all
%manifold_artifact %{name}-core-parent
%manifold_artifact %{name}-core-parent/%{name}
%manifold_artifact %{name}-core-parent/%{name}-rt
%manifold_artifact %{name}-deps-parent
%manifold_artifact %{name}-deps-parent/%{name}-collections
%manifold_artifact %{name}-deps-parent/%{name}-collections-test
%manifold_artifact %{name}-deps-parent/%{name}-csv
%manifold_artifact %{name}-deps-parent/%{name}-csv-rt
%manifold_artifact %{name}-deps-parent/%{name}-csv-test
%manifold_artifact %{name}-deps-parent/%{name}-darkj
%manifold_artifact %{name}-deps-parent/%{name}-darkj-test
%manifold_artifact %{name}-deps-parent/%{name}-delegation
%manifold_artifact %{name}-deps-parent/%{name}-delegation-rt
%manifold_artifact %{name}-deps-parent/%{name}-delegation-test
%manifold_artifact %{name}-deps-parent/%{name}-exceptions
%manifold_artifact %{name}-deps-parent/%{name}-exceptions-test
%manifold_artifact %{name}-deps-parent/%{name}-ext
%manifold_artifact %{name}-deps-parent/%{name}-ext-middle-test
%manifold_artifact %{name}-deps-parent/%{name}-ext-producer-sample
%manifold_artifact %{name}-deps-parent/%{name}-ext-producer-sample-test
%manifold_artifact %{name}-deps-parent/%{name}-ext-rt
%manifold_artifact %{name}-deps-parent/%{name}-ext-test
%manifold_artifact %{name}-deps-parent/%{name}-graphql
%manifold_artifact %{name}-deps-parent/%{name}-graphql-rt
%manifold_artifact %{name}-deps-parent/%{name}-graphql-test
%manifold_artifact %{name}-deps-parent/%{name}-highjump
%manifold_artifact %{name}-deps-parent/%{name}-highjump-test
%manifold_artifact %{name}-deps-parent/%{name}-image
%manifold_artifact %{name}-deps-parent/%{name}-image-test
%manifold_artifact %{name}-deps-parent/%{name}-io
%manifold_artifact %{name}-deps-parent/%{name}-io-test
%manifold_artifact %{name}-deps-parent/%{name}-js
%manifold_artifact %{name}-deps-parent/%{name}-js-rt
%manifold_artifact %{name}-deps-parent/%{name}-js-test
%manifold_artifact %{name}-deps-parent/%{name}-json
%manifold_artifact %{name}-deps-parent/%{name}-json-rt
%manifold_artifact %{name}-deps-parent/%{name}-json-test
%manifold_artifact %{name}-deps-parent/%{name}-preprocessor
%manifold_artifact %{name}-deps-parent/%{name}-preprocessor-android-syms
%manifold_artifact %{name}-deps-parent/%{name}-preprocessor-test
%manifold_artifact %{name}-deps-parent/%{name}-properties
%manifold_artifact %{name}-deps-parent/%{name}-properties-test
%manifold_artifact %{name}-deps-parent/%{name}-props
%manifold_artifact %{name}-deps-parent/%{name}-props-middle-test
%manifold_artifact %{name}-deps-parent/%{name}-props-rt
%manifold_artifact %{name}-deps-parent/%{name}-props-test
%manifold_artifact %{name}-deps-parent/%{name}-science
%manifold_artifact %{name}-deps-parent/%{name}-science-test
%manifold_artifact %{name}-deps-parent/%{name}-strings
%manifold_artifact %{name}-deps-parent/%{name}-strings-test
%manifold_artifact %{name}-deps-parent/%{name}-strings-test-excl
%manifold_artifact %{name}-deps-parent/%{name}-templates
%manifold_artifact %{name}-deps-parent/%{name}-templates-rt
%manifold_artifact %{name}-deps-parent/%{name}-templates-test
%manifold_artifact %{name}-deps-parent/%{name}-test
%manifold_artifact %{name}-deps-parent/%{name}-text
%manifold_artifact %{name}-deps-parent/%{name}-text-test
%manifold_artifact %{name}-deps-parent/%{name}-tuple
%manifold_artifact %{name}-deps-parent/%{name}-tuple-rt
%manifold_artifact %{name}-deps-parent/%{name}-tuple-test
%manifold_artifact %{name}-deps-parent/%{name}-xml
%manifold_artifact %{name}-deps-parent/%{name}-xml-rt
%manifold_artifact %{name}-deps-parent/%{name}-xml-test
%manifold_artifact %{name}-deps-parent/%{name}-yaml
%manifold_artifact %{name}-deps-parent/%{name}-yaml-rt
%manifold_artifact %{name}-deps-parent/%{name}-yaml-test
%manifold_artifact %{name}-javadoc-agent
%manifold_artifact %{name}-util
%mvn_install
%fdupes %{buildroot}%{_javadocdir}/%{name}*
%files -f .mfiles
%license LICENSE
%doc README.md authors.txt
%files javadoc -f .mfiles-javadoc
%license LICENSE
%changelog