diff --git a/.gitignore b/.gitignore
index e69de29..fc10039 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,9 @@
+/3.2.1.tar.gz
+/3.3.2.tar.gz
+/disruptor-3.3.2.pom
+/disruptor-3.3.4.pom
+/3.3.4.tar.gz
+/disruptor-3.3.6.tar.gz
+/disruptor-3.3.6.pom
+/disruptor-3.4.2.pom
+/disruptor-3.4.2.tar.gz
diff --git a/disruptor-3.3.2-jmock.patch b/disruptor-3.3.2-jmock.patch
new file mode 100644
index 0000000..2f4797e
--- /dev/null
+++ b/disruptor-3.3.2-jmock.patch
@@ -0,0 +1,21 @@
+--- disruptor-3.3.2/src/test/java/com/lmax/disruptor/BatchEventProcessorTest.java 2015-02-25 10:09:57.000000000 +0100
++++ disruptor-3.3.2/src/test/java/com/lmax/disruptor/BatchEventProcessorTest.java.jmock 2015-06-03 15:52:43.997446568 +0200
+@@ -23,6 +23,7 @@
+ import org.jmock.api.Action;
+ import org.jmock.api.Invocation;
+ import org.jmock.integration.junit4.JMock;
++import org.jmock.lib.concurrent.Synchroniser;
+ import org.junit.Test;
+ import org.junit.runner.RunWith;
+
+@@ -35,7 +36,9 @@
+ @RunWith(JMock.class)
+ public final class BatchEventProcessorTest
+ {
+- private final Mockery context = new Mockery();
++ private final Mockery context = new Mockery() {{
++ setThreadingPolicy(new Synchroniser());
++ }};
+ private final Sequence lifecycleSequence = context.sequence("lifecycleSequence");
+ private final CountDownLatch latch = new CountDownLatch(1);
+
diff --git a/disruptor.spec b/disruptor.spec
new file mode 100644
index 0000000..6845321
--- /dev/null
+++ b/disruptor.spec
@@ -0,0 +1,145 @@
+Name: disruptor
+Version: 3.4.2
+Release: 3%{?dist}
+Summary: Concurrent Programming Framework
+License: ASL 2.0
+URL: https://lmax-exchange.github.io/disruptor/
+Source0: https://github.com/LMAX-Exchange/disruptor/archive/%{version}/%{name}-%{version}.tar.gz
+Source1: https://repo1.maven.org/maven2/com/lmax/%{name}/%{version}/%{name}-%{version}.pom
+
+BuildRequires: maven-local
+BuildRequires: mvn(junit:junit)
+BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires: mvn(org.hamcrest:hamcrest-library)
+BuildRequires: mvn(org.jmock:jmock-junit4)
+BuildRequires: mvn(org.jmock:jmock-legacy)
+
+%if 0
+# Unavailable performance test deps
+BuildRequires: mvn(org.hdrhistogram:HdrHistogram:1.2.1)
+%endif
+
+BuildArch: noarch
+
+%description
+A High Performance Inter-Thread Messaging Library.
+
+%package javadoc
+Summary: Javadoc for %{name}
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%prep
+%autosetup
+# Cleanup
+find . -name "*.class" -print -delete
+find . -name "*.jar" -type f -print -delete
+
+cp -p %{SOURCE1} pom.xml
+
+# Add OSGi support
+%pom_xpath_inject "pom:project" "bundle"
+%pom_add_plugin org.apache.felix:maven-bundle-plugin:2.3.7 . '
+true
+
+
+ %{url}
+ ${project.name}
+ LMAX Disruptor Development Team
+
+
+
+
+ bundle-manifest
+ process-classes
+
+ manifest
+
+
+'
+
+# fail to compile cause: incompatible hamcrest apis
+rm -r src/test/java/com/lmax/disruptor/RingBufferTest.java \
+ src/test/java/com/lmax/disruptor/RingBufferEventMatcher.java
+# Failed to stop thread: Thread[com.lmax.disruptor.BatchEventProcessor@1d057a39,5,main]
+rm -r src/test/java/com/lmax/disruptor/dsl/DisruptorTest.java
+# Test fails due to incompatible jmock version
+#rm -f src/test/java/com/lmax/disruptor/EventPollerTest.java
+
+%mvn_file :%{name} %{name}
+
+%build
+
+%mvn_build -- -Dproject.build.sourceEncoding=UTF-8 -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%doc README.md
+%license LICENCE.txt
+
+%files javadoc -f .mfiles-javadoc
+%license LICENCE.txt
+
+%changelog
+* Mon Jul 27 2020 Fedora Release Engineering - 3.4.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek - 3.4.2-2
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Tue May 12 2020 Alexander Scheel - 3.4.2-1
+- Rebase to disruptor upstream release v3.4.2
+
+* Tue Jan 28 2020 Fedora Release Engineering - 3.3.6-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Wed Jul 24 2019 Fedora Release Engineering - 3.3.6-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu Jan 31 2019 Fedora Release Engineering - 3.3.6-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Jul 12 2018 Fedora Release Engineering - 3.3.6-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Feb 07 2018 Fedora Release Engineering - 3.3.6-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 3.3.6-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering - 3.3.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Nov 11 2016 gil cattaneo 3.3.6-1
+- update to 3.3.6
+
+* Thu Jun 23 2016 gil cattaneo 3.3.4-1
+- update to 3.3.4
+
+* Wed Feb 03 2016 Fedora Release Engineering - 3.3.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering - 3.3.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Wed Jun 03 2015 gil cattaneo 3.3.2-2
+- build fix for jmock 2.8.1
+
+* Wed Jun 3 2015 Mikolaj Izdebski - 3.3.2-1
+- Update to upstream version 3.3.2
+
+* Sun Feb 01 2015 gil cattaneo 3.2.1-3
+- introduce license macro
+
+* Sat Jun 07 2014 Fedora Release Engineering - 3.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon Apr 21 2014 gil cattaneo 3.2.1-1
+- update to 3.2.1
+
+* Wed Aug 14 2013 gil cattaneo 3.2.0-1
+- initial rpm
diff --git a/sources b/sources
new file mode 100644
index 0000000..b6a911b
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (disruptor-3.4.2.pom) = 24ff7625e14bc14967f838237097b3042edcb0e7f34bef1423b45761b6cef72c360d6f24ec4375330aec7bf6b9904eaa33f1cca373ac69304d1120f7a46ebde7
+SHA512 (disruptor-3.4.2.tar.gz) = 17187664d8e8a87566fbc08900dc80110ccdc53be4b78e486a4a7510e9a6bed08854a288bc9a95907a5fd8d1c5fb9d119838264c279ba257281f9bcb62bd9141