Blob Blame History Raw
%global namedreltag .Beta2
%global namedversion %{version}%{?namedreltag}
%global customnamedversion 2_4_0_Beta2

Name:             hornetq
Version:          2.4.0
Release:          0.2%{namedreltag}%{?dist}
Summary:          High performance messaging system
License:          ASL 2.0
URL:              http://www.jboss.org/hornetq
Source0:          https://github.com/hornetq/hornetq/archive/HornetQ_%{customnamedversion}.tar.gz

Patch0:           0001-Proton-0.5-support.patch

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:    xml-maven-plugin
BuildRequires:    saxon
BuildRequires:    qpid-proton-java
BuildRequires:    mvn(org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec)
BuildRequires:    mvn(org.jboss.spec.javax.jms:jboss-jms-api_2.0_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}

%patch0 -p1

# 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

# Make xslt 2.0 avaialble!
%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'xml-maven-plugin']/pom:configuration" "<transformerFactory>net.sf.saxon.TransformerFactoryImpl</transformerFactory>" hornetq-core-client/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
* Thu Oct 24 2013 Marek Goldmann <mgoldman@redhat.com> - 2.4.0-0.2.Beta1
- Upstream release 2.4.0.Beta2

* Wed Sep 11 2013 Marek Goldmann <mgoldman@redhat.com> - 2.4.0-0.1.Beta1
- Upstream release 2.4.0.Beta1

* 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