|
|
|
@ -1,64 +1,73 @@
|
|
|
|
|
Epoch: 1
|
|
|
|
|
|
|
|
|
|
%global eclipse_ver 4.20
|
|
|
|
|
%global bundle_ver 3.27.0
|
|
|
|
|
%global jar_ver %{eclipse_ver}
|
|
|
|
|
%global drop R-%{jar_ver}-202106111600
|
|
|
|
|
%global qualifier S-4.11RC1-201903010040
|
|
|
|
|
|
|
|
|
|
Summary: Eclipse Compiler for Java
|
|
|
|
|
Name: ecj
|
|
|
|
|
Version: %{eclipse_ver}
|
|
|
|
|
Release: 17%{?dist}
|
|
|
|
|
URL: https://www.eclipse.org
|
|
|
|
|
Name: ecj
|
|
|
|
|
Version: 4.11
|
|
|
|
|
Release: 0.1%{?dist}
|
|
|
|
|
URL: http://www.eclipse.org
|
|
|
|
|
License: EPL-2.0
|
|
|
|
|
|
|
|
|
|
Source0: https://download.eclipse.org/eclipse/downloads/drops4/%{drop}/ecjsrc-%{jar_ver}.jar
|
|
|
|
|
Source1: https://repo1.maven.org/maven2/org/eclipse/jdt/ecj/%{bundle_ver}/ecj-%{bundle_ver}.pom
|
|
|
|
|
# The ecj build does not generate a proper manifest, so use the one from the binary distribution
|
|
|
|
|
# Extracted from: https://download.eclipse.org/eclipse/downloads/drops4/%%{drop}/ecj-%%{jar_ver}.jar
|
|
|
|
|
Source2: MANIFEST.MF
|
|
|
|
|
Source0: http://download.eclipse.org/eclipse/downloads/drops4/%{qualifier}/ecjsrc-%{version}RC1.jar
|
|
|
|
|
Source1: ecj.sh.in
|
|
|
|
|
Source3: https://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/%{version}/ecj-%{version}.pom
|
|
|
|
|
# Extracted from https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/%%{qualifier}/ecj-%%{version}.jar
|
|
|
|
|
Source4: MANIFEST.MF
|
|
|
|
|
# Java API stubs for newer JDKs
|
|
|
|
|
Source5: java10api.jar
|
|
|
|
|
|
|
|
|
|
# Always generate debug info when building RPMs (Andrew Haley)
|
|
|
|
|
Patch0: 0001-Always-generate-bytecode-debuginfo.patch
|
|
|
|
|
Patch0: %{name}-rpmdebuginfo.patch
|
|
|
|
|
|
|
|
|
|
# Include java API stubs in build
|
|
|
|
|
Patch1: javaAPI.patch
|
|
|
|
|
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
BuildRequires: ant
|
|
|
|
|
BuildRequires: javapackages-local
|
|
|
|
|
BuildRequires: java-17-openjdk-devel
|
|
|
|
|
|
|
|
|
|
Requires: (java-1.8.0-headless or java-11-headless or java-17-headless or java-21-headless)
|
|
|
|
|
Requires: javapackages-tools
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
ECJ is the Java bytecode compiler of the Eclipse Platform. It is also known as
|
|
|
|
|
the JDT Core batch compiler.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -p1 -c -n %{name}-%{eclipse_ver}
|
|
|
|
|
%setup -q -c
|
|
|
|
|
%patch0 -p1
|
|
|
|
|
%patch1
|
|
|
|
|
|
|
|
|
|
# Specify encoding
|
|
|
|
|
sed -i -e '/compilerarg/s/Xlint:none/Xlint:none -encoding cp1252/' build.xml
|
|
|
|
|
sed -i -e 's|debuglevel=\"lines,source\"|debug=\"yes\"|g' build.xml
|
|
|
|
|
|
|
|
|
|
cp %{SOURCE1} pom.xml
|
|
|
|
|
cp %{SOURCE3} pom.xml
|
|
|
|
|
mkdir -p scripts/binary/META-INF/
|
|
|
|
|
cp %{SOURCE2} scripts/binary/META-INF/MANIFEST.MF
|
|
|
|
|
rm ./META-INF/ECLIPSE_.{SF,RSA}
|
|
|
|
|
cp %{SOURCE4} scripts/binary/META-INF/MANIFEST.MF
|
|
|
|
|
|
|
|
|
|
# JDTCompilerAdapter isn't used by the batch compiler
|
|
|
|
|
rm -f org/eclipse/jdt/core/JDTCompilerAdapter.java
|
|
|
|
|
|
|
|
|
|
# No dep on ant needed
|
|
|
|
|
%pom_remove_dep org.apache.ant:ant
|
|
|
|
|
|
|
|
|
|
# Aliases
|
|
|
|
|
%mvn_alias org.eclipse.jdt:ecj org.eclipse.jdt:core org.eclipse.jdt.core.compiler:ecj \
|
|
|
|
|
org.eclipse.tycho:org.eclipse.jdt.core org.eclipse.tycho:org.eclipse.jdt.compiler.apt
|
|
|
|
|
# Symlinks and aliases
|
|
|
|
|
%mvn_file :ecj ecj jdtcore
|
|
|
|
|
%mvn_alias org.eclipse.jdt.core.compiler:ecj \
|
|
|
|
|
org.eclipse.tycho:org.eclipse.jdt.core org.eclipse.tycho:org.eclipse.jdt.compiler.apt \
|
|
|
|
|
org.eclipse.jdt:core org.eclipse.jdt:ecj
|
|
|
|
|
|
|
|
|
|
# Make Java API stubs available for other packages
|
|
|
|
|
%mvn_artifact "org.eclipse:java10api:jar:10" %{SOURCE5}
|
|
|
|
|
%mvn_alias "org.eclipse:java10api:jar:10" "org.eclipse:java9api:jar:9"
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
export JAVA_HOME=/usr/lib/jvm/java-17
|
|
|
|
|
ant
|
|
|
|
|
ant -Djavaapi=%{SOURCE5}
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%mvn_artifact pom.xml ecj.jar
|
|
|
|
|
%mvn_install
|
|
|
|
|
|
|
|
|
|
# Install the ecj wrapper script
|
|
|
|
|
%jpackage_script org.eclipse.jdt.internal.compiler.batch.Main '' '' ecj ecj true
|
|
|
|
|
install -p -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/ecj
|
|
|
|
|
|
|
|
|
|
# Install manpage
|
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
|
|
|
@ -70,78 +79,8 @@ install -m 644 -p ecj.1 $RPM_BUILD_ROOT%{_mandir}/man1/ecj.1
|
|
|
|
|
%{_mandir}/man1/ecj*
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Thu Dec 07 2023 Hui Wang <huwang@redhat.com> - 1:4.20-17
|
|
|
|
|
- Resolves: RHEL-18432 OpenJDK 21 support for RHEL ecj
|
|
|
|
|
|
|
|
|
|
* Fri Oct 27 2023 Hui Wang <huwang@redhat.com> - 1:4.20-16
|
|
|
|
|
- Resolves: RHEL-14880 ecj requires specific java version
|
|
|
|
|
|
|
|
|
|
* Thu Feb 23 2023 Hui Wang <huwang@redhat.com> - 1:4.20-11
|
|
|
|
|
- Bump release so that the NVR on RHEL-9 is higher than RHEL-8
|
|
|
|
|
|
|
|
|
|
* Mon Feb 20 2023 Hui Wang <huwang@redhat.com> - 1:4.20-4
|
|
|
|
|
- Drop unnecessary javax16.api.jar
|
|
|
|
|
- Add dependency on javapackages-tools since the ecj binary requires it to run
|
|
|
|
|
|
|
|
|
|
* Thu Feb 02 2023 Hui Wang <huwang@redhat.com> - 1:4.20-3
|
|
|
|
|
- Add tmt gating plan
|
|
|
|
|
|
|
|
|
|
* Wed Feb 01 2023 Hui Wang <huwang@redhat.com> - 1:4.20-2
|
|
|
|
|
- Add gating.yaml
|
|
|
|
|
|
|
|
|
|
* Thu Jan 19 2023 Hui Wang <huwang@redhat.com> - 1:4.20-1
|
|
|
|
|
- Update to 4.20
|
|
|
|
|
|
|
|
|
|
* Wed Aug 25 2021 Stefan Bluhm <stefan.bluhm@clacee.eu> - 1:4.19-3
|
|
|
|
|
- Added RHEL8 build.
|
|
|
|
|
|
|
|
|
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.19-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Mar 10 2021 Mat Booth <mat.booth@redhat.com> - 1:4.19-1
|
|
|
|
|
- Update to latest upstream release
|
|
|
|
|
|
|
|
|
|
* Mon Mar 01 2021 Mat Booth <mat.booth@redhat.com> - 1:4.18-3
|
|
|
|
|
- Allow building against Java 11
|
|
|
|
|
|
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.18-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Jan 12 2021 Alexander Kurtakov <akurtako@redhat.com> 1:4.18-1
|
|
|
|
|
- Update to latest upstream release.
|
|
|
|
|
|
|
|
|
|
* Thu Oct 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.17-1
|
|
|
|
|
- Update to latest upstream release
|
|
|
|
|
|
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.16-4
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:4.16-3
|
|
|
|
|
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
|
|
|
|
|
|
|
|
|
* Fri Jun 19 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-2
|
|
|
|
|
- Restore compiler adaptor
|
|
|
|
|
|
|
|
|
|
* Thu Jun 18 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-1
|
|
|
|
|
- Update to latest upstream release
|
|
|
|
|
|
|
|
|
|
* Fri Mar 20 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-1
|
|
|
|
|
- Update to latest upstream release
|
|
|
|
|
|
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.14-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Dec 16 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-2
|
|
|
|
|
- Remove upstream code-signatures
|
|
|
|
|
|
|
|
|
|
* Fri Dec 13 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-1
|
|
|
|
|
- Update to latest upstream version
|
|
|
|
|
|
|
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.12-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Sat Jun 29 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-1
|
|
|
|
|
- Update to latest upstream release
|
|
|
|
|
* Mon May 13 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1:4.11-0.1
|
|
|
|
|
- Rebuilt for MSVSphere 8.9
|
|
|
|
|
|
|
|
|
|
* Thu Mar 07 2019 Mat Booth <mat.booth@redhat.com> - 1:4.11-0.1
|
|
|
|
|
- Update to latest release candidate of 4.11
|
|
|
|
|