Name: jacorb
Version: 2.3.1
Release: 3.20120215git%{?dist}
Summary: The Java implementation of the OMG's CORBA standard
Group: Development/Libraries
License: LGPLv2
URL: http://www.jacorb.org/index.html
# git clone git://github.com/sguilhen/jacorb.git
# find jacorb/ -name '*.jar' -delete
# tar cafJ jacorb-20120215git5481b0.tar.xz jacorb
Source0: jacorb-20120215git5481b0.tar.xz
Source1: http://central.maven.org/maven2/org/jacorb/jacorb-parent/%{version}/jacorb-parent-%{version}.pom
Source2: http://central.maven.org/maven2/org/jacorb/jacorb/%{version}/jacorb-%{version}.pom
Source3: http://central.maven.org/maven2/org/jacorb/jacorb-idl-compiler/%{version}/jacorb-idl-compiler-%{version}.pom
# These methods are not implemented in the current
Patch0: 0001-Implement-a-few-methods-in-GSSUPContextSpi-to-make-i.patch
# We need to modify the build script to build an intermediate jacorb.jar and use
# java.endorsed.dirs to point to the jar to override JDK classes
Patch1: 0002-Create-jacorb.jar-to-use-it-in-java.endorsed.dirs-pa.patch
# Fix "error: unmappable character for encoding ASCII" JDK issues
Patch2: 0003-Set-encoding-to-UTF-8-when-generating-javadoc.patch
# Remove the Class-Path entry to fix class-path-in-manifest issue
Patch3: 0004-Removed-Class-Path-entry-from-MANIFEST.MF.patch
# Remove unnecessary deps from POM since we don't have notification module available
Patch4: jacorb-%{version}-notification-dependencies-removal.patch
BuildArch: noarch
BuildRequires: jpackage-utils
BuildRequires: java-devel
BuildRequires: ant
BuildRequires: antlr-tool
BuildRequires: avalon-logkit
BuildRequires: slf4j
Requires: jpackage-utils
Requires: java
Requires: antlr-tool
Requires: avalon-logkit
Requires: slf4j
%description
This package contains the Java implementation of the OMG's CORBA standard
%package javadoc
Summary: Javadocs for %{name}
Group: Documentation
Requires: jpackage-utils
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q -n jacorb
cp %{SOURCE1} jacorb-parent.pom
cp %{SOURCE2} jacorb.pom
cp %{SOURCE3} jacorb-idl-compiler.pom
find -name '*.class' -exec rm -f '{}' \;
find -name '*.jar' -exec rm -f '{}' \;
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p0
# No xdoclet available
sed -i 's|,notification||' src/org/jacorb/build.xml
ln -s $(build-classpath antlr) lib/antlr-2.7.2.jar
ln -s $(build-classpath slf4j/api) lib/slf4j-api-1.5.6.jar
%build
export CLASSPATH=$(build-classpath avalon-logkit slf4j/api)
ant all doc
%install
# JAR
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/
install -pm 644 lib/jacorb.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
install -pm 644 lib/idl.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-idl-compiler.jar
# POM
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -pm 644 jacorb-parent.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}-parent.pom
install -pm 644 jacorb.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom
install -pm 644 jacorb-idl-compiler.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}-idl-compiler.pom
# DEPMAP
%add_maven_depmap JPP-%{name}-parent.pom
%add_maven_depmap JPP-%{name}.pom %{name}.jar -a "jacorb:jacorb"
%add_maven_depmap JPP-%{name}-idl-compiler.pom %{name}-idl-compiler.jar -a "jacorb:jacorb-idl-compiler"
# APIDOCS
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
cp -rp doc/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
%files
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/*
%{_javadir}/*
%doc doc/LICENSE
%files javadoc
%{_javadocdir}/%{name}
%doc doc/LICENSE
%changelog
* Thu Aug 30 2012 Marek Goldmann <mgoldman@redhat.com> - 2.3.1-3.20120215git
- Added idl-compiler jar to the package
- Remove unnecessary depednencies from POM since we don't build the notification module
- Additional groupId mappings
* Thu Aug 30 2012 Marek Goldmann <mgoldman@redhat.com> - 2.3.1-2.20120215git
- Added LICENSE file to package
- Removed Class-Path entry from MANIFEST.MF
- Fixed description
* Wed Aug 29 2012 Marek Goldmann <mgoldman@redhat.com> - 2.3.1-1.20120215git
- Initial packaging