%global namedreltag .Final
%global namedversion %{version}%{?namedreltag}
%global customnamedversion 2_3_1_FINAL
Name: hornetq
Version: 2.3.1
Release: 2%{?dist}
Summary: High performance messaging system
License: ASL 2.0
URL: http://www.jboss.org/hornetq
Source0: https://github.com/hornetq/hornetq/archive/HornetQ_2_3_1_FINAL.tar.gz
BuildRequires: automake libtool autoconf
BuildRequires: apiviz
BuildRequires: aether
BuildRequires: apache-commons-logging
BuildRequires: javacc
BuildRequires: jboss-connector-1.6-api
BuildRequires: jboss-ejb-3.1-api
BuildRequires: jboss-ejb3-ext-api
BuildRequires: jboss-jaspi-1.0-api
BuildRequires: jboss-jms-1.1-api
BuildRequires: jboss-logging
BuildRequires: jboss-servlet-3.0-api
BuildRequires: jboss-transaction-1.1-api
BuildRequires: jboss-transaction-spi
BuildRequires: jboss-logging
BuildRequires: jboss-logging-tools
BuildRequires: jboss-remoting
BuildRequires: jboss-naming
BuildRequires: jbossws-parent
BuildRequires: jdepend
BuildRequires: libaio-devel
BuildRequires: netty
BuildRequires: maven-local
BuildRequires: javacc-maven-plugin
BuildRequires: java-service-wrapper
BuildRequires: jgroups
BuildRequires: jboss-integration
BuildRequires: mvn(org.jboss.resteasy:resteasy-jaxrs)
BuildRequires: mvn(org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec)
BuildRequires: narayana
BuildRequires: mvn(org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec)
%description
HornetQ is an open source project to build a multi-protocol, embeddable,
very high performance, clustered, asynchronous messaging system.
%package javadoc
Summary: Javadocs for %{name}
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q -n hornetq-HornetQ_%{customnamedversion}
# Remove bundled .so files
find -name "*.so" -delete
%pom_remove_dep "org.jboss.jbossts:jbossjts" hornetq-jms-server/pom.xml
%pom_add_dep "org.jboss.narayana.jta:jta" hornetq-jms-server/pom.xml
%pom_disable_module hornetq-service-sar
%pom_disable_module hornetq-bootstrap
%pom_disable_module tests
%pom_disable_module examples
%pom_disable_module hornetq-rest
%pom_disable_module integration/hornetq-jboss-as-integration
%pom_disable_module integration/hornetq-spring-integration
%pom_disable_module integration/hornetq-twitter-integration
%pom_remove_dep "org.jboss.microcontainer:jboss-kernel"
# Replace old jca
%pom_remove_dep "org.jboss.javaee:jboss-jca-api" hornetq-ra/pom.xml
%pom_add_dep "org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec" hornetq-ra/pom.xml
%build
# Prebuild the classes, so we can create new native bits later
xmvn -B -o compile
# Build native bits
export JAVA_HOME=/usr/lib/jvm/java
pushd hornetq-native
autoreconf --install
%configure
make clean
# Generate C headers
pushd src
javah -classpath $(build-classpath jboss-logging/jboss-logging):../../hornetq-journal/target/classes org.hornetq.core.asyncio.impl.AsynchronousFileImpl
popd
make %{?_smp_mflags}
%ifarch x86_64
cp -L src/.libs/libHornetQAIO.so bin/libHornetQAIO64.so
%else
cp -L src/.libs/libHornetQAIO.so bin/libHornetQAIO32.so
%endif
popd
# Skipping test because junit 3 is not available and 4 breaks the test suite
# DEBUG: [ERROR] /builddir/build/BUILD/hornetq-HornetQ_2_3_1_FINAL/hornetq-server/src/test/java/org/hornetq/tests/util/UnitTestCase.java:[466,15] method addTestSuite in class junit.framework.TestSuite cannot be applied to given types;
# DEBUG: [ERROR] required: java.lang.Class<? extends junit.framework.TestCase>
# DEBUG: [ERROR] found: java.lang.Class<capture#1 of ?>
# DEBUG: [ERROR] reason: actual argument java.lang.Class<capture#1 of ?> cannot be converted to java.lang.Class<? extends junit.framework.TestCase> by method invocation conversion
%mvn_build -f -- -P maven-release
%install
%mvn_install
# Install native stuff
install -d -m 755 %{buildroot}/%{_libdir}
cp -L hornetq-native/src/.libs/libHornetQAIO.so %{buildroot}/%{_libdir}/libHornetQAIO.so
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f .mfiles
%dir %{_javadir}/%{name}
%{_libdir}/libHornetQAIO.so
%doc distribution/hornetq/src/main/resources/licenses/LICENSE.txt
%doc NOTICE
%doc README.md
%files javadoc -f .mfiles-javadoc
%doc distribution/hornetq/src/main/resources/licenses/LICENSE.txt
%doc NOTICE
%changelog
* Tue Jul 30 2013 Marek Goldmann <mgoldman@redhat.com> - 2.3.1-2
- Rebuild with narayana
- Added hornetq-jms-server and hornetq-ra modules
* Wed Jun 12 2013 Marek Goldmann <mgoldman@redhat.com> - 2.3.1-1
- Upstream release 2.3.1.Final
- New guidelines
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.13-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.13-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu May 24 2012 Marek Goldmann <mgoldman@redhat.com> 2.2.13-4
- Removed unnecessary Requires
* Wed May 23 2012 Marek Goldmann <mgoldman@redhat.com> 2.2.13-3
- Removed unnecessary %%global
- Added License file to -devel subpackage
- Removed static files
* Wed May 16 2012 Marek Goldmann <mgoldman@redhat.com> 2.2.13-2
- Added native part to the build
* Tue May 15 2012 Marek Goldmann <mgoldman@redhat.com> 2.2.13-1
- Initial packaging