diff --git a/.devtoolset-4-jffi.metadata b/.devtoolset-4-jffi.metadata
new file mode 100644
index 0000000..b7a61cf
--- /dev/null
+++ b/.devtoolset-4-jffi.metadata
@@ -0,0 +1 @@
+f34dbed21d40e41f083badb561f36b37642b8415 SOURCES/1.2.9.zip
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..320d5f0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/1.2.9.zip
diff --git a/README.md b/README.md
deleted file mode 100644
index 98f42b4..0000000
--- a/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-The master branch has no content
-
-Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6
-If you find this file in a distro specific branch, it means that no content has been checked in yet
diff --git a/SOURCES/MANIFEST.MF b/SOURCES/MANIFEST.MF
new file mode 100644
index 0000000..8ab756c
--- /dev/null
+++ b/SOURCES/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-SymbolicName: com.kenai.jffi
+Export-Package: com.kenai.jffi;version="@VERSION"
+Bundle-Name: Java Foreign Function Interface
+Bundle-Version: @VERSION
+Bundle-ManifestVersion: 2
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+
diff --git a/SOURCES/NATIVE-MANIFEST.MF b/SOURCES/NATIVE-MANIFEST.MF
new file mode 100644
index 0000000..56317b4
--- /dev/null
+++ b/SOURCES/NATIVE-MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+JavaPackages-Classifier: native
+Archiver-Version: Plexus Archiver
+JavaPackages-Version: @VERSION
+Bundle-Version: @VERSION
+Bundle-SymbolicName: com.kenai.jffi.native
+Fragment-Host: com.kenai.jffi
+Bundle-ClassPath: .,jni
+JavaPackages-ArtifactId: jffi
+JavaPackages-GroupId: com.github.jnr
+Created-By: Apache Maven 3.3.3
+Build-Jdk: 1.8.0_60
+
diff --git a/SOURCES/jffi-add-built-jar-to-test-classpath.patch b/SOURCES/jffi-add-built-jar-to-test-classpath.patch
new file mode 100644
index 0000000..b8d394f
--- /dev/null
+++ b/SOURCES/jffi-add-built-jar-to-test-classpath.patch
@@ -0,0 +1,13 @@
+--- build.xml.sav 2015-04-30 18:23:37.609686947 +0300
++++ build.xml 2015-04-30 18:23:50.621619907 +0300
+@@ -219,8 +219,8 @@
+
+
+
+-
+-
++
++
+
+
+
diff --git a/SOURCES/jffi-fix-compilation-flags.patch b/SOURCES/jffi-fix-compilation-flags.patch
new file mode 100644
index 0000000..d10d01b
--- /dev/null
+++ b/SOURCES/jffi-fix-compilation-flags.patch
@@ -0,0 +1,30 @@
+--- jni/GNUmakefile.orig 2015-03-02 23:35:21.000000000 +0200
++++ jni/GNUmakefile 2015-04-30 18:16:46.270806239 +0300
+@@ -66,9 +66,9 @@ OFLAGS = -O2 $(JFLAGS)
+ # MacOS headers aren't completely warning free, so turn them off
+ WERROR = -Werror
+ ifneq ($(OS),darwin)
+- WFLAGS += -Wundef $(WERROR)
++ WFLAGS += -Wundef
+ endif
+-WFLAGS += -W -Wall -Wno-unused -Wno-parentheses -Wno-unused-parameter
++WFLAGS += -W -Wall -Wno-parentheses -Wno-unused-parameter
+ PICFLAGS = -fPIC
+ SOFLAGS = # Filled in for each OS specifically
+ FFI_MMAP_EXEC = -DFFI_MMAP_EXEC_WRIT
+@@ -76,11 +76,13 @@ FFI_MMAP_EXEC = -DFFI_MMAP_EXEC_WRIT
+ FFI_CC = $(CCACHE) $(CC)
+ FFI_LD = $(LD)
+ FFI_CFLAGS = $(FFI_MMAP_EXEC) $(OFLAGS)
+-STRIP ?= strip -S
++STRIP ?= /bin/true
++
++RPMFLAGS=$(shell rpm --eval %optflags)
+
+ JDK_INCLUDES = -I"$(JDK_HOME)/include" -I"$(JDK_HOME)/include/$(OS)"
+ IFLAGS = -I"$(BUILD_DIR)" -I"$(BUILD_DIR)"/jni -I$(SRC_DIR) -I"$(JFFI_SRC_DIR)"
+-CFLAGS += $(OFLAGS) $(WFLAGS) $(IFLAGS) $(PICFLAGS) $(JDK_INCLUDES) $(LIBFFI_CFLAGS)
++CFLAGS += $(OFLAGS) $(WFLAGS) $(IFLAGS) $(PICFLAGS) $(JDK_INCLUDES) $(LIBFFI_CFLAGS) $(RPMFLAGS)
+ CFLAGS += -D_REENTRANT -D_LARGEFILE64_SOURCE -D_GNU_SOURCE
+
+ ifeq ($(OS), win64)
diff --git a/SOURCES/jffi-fix-dependencies-in-build-xml.patch b/SOURCES/jffi-fix-dependencies-in-build-xml.patch
new file mode 100644
index 0000000..5d870af
--- /dev/null
+++ b/SOURCES/jffi-fix-dependencies-in-build-xml.patch
@@ -0,0 +1,12 @@
+--- build.xml.orig 2015-04-30 18:11:44.075363204 +0300
++++ build.xml 2015-04-30 18:12:37.964085560 +0300
+@@ -198,8 +198,7 @@
+
+
+
+-
+-
++
+
+
+
diff --git a/SOURCES/p2.inf b/SOURCES/p2.inf
new file mode 100644
index 0000000..ede6910
--- /dev/null
+++ b/SOURCES/p2.inf
@@ -0,0 +1,4 @@
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = com.kenai.jffi.native
+requires.1.range = [$version$,$version$]
+requires.1.filter = (&(osgi.os=linux))
diff --git a/SPECS/jffi.spec b/SPECS/jffi.spec
new file mode 100644
index 0000000..58ed9e1
--- /dev/null
+++ b/SPECS/jffi.spec
@@ -0,0 +1,234 @@
+%{?scl:%scl_package jffi}
+%{!?scl:%global pkg_name %{name}}
+%{?java_common_find_provides_and_requires}
+
+%global cluster jnr
+%global sover 1.2
+
+Name: %{?scl_prefix}jffi
+Version: 1.2.9
+Release: 8.1%{?dist}
+Summary: Java Foreign Function Interface
+
+License: LGPLv3+ or ASL 2.0
+URL: http://github.com/jnr/jffi
+Source0: https://github.com/%{cluster}/%{pkg_name}/archive/%{version}.zip
+Source1: MANIFEST.MF
+Source2: NATIVE-MANIFEST.MF
+Source3: p2.inf
+Patch0: jffi-fix-dependencies-in-build-xml.patch
+Patch1: jffi-add-built-jar-to-test-classpath.patch
+Patch2: jffi-fix-compilation-flags.patch
+
+BuildRequires: %{?scl_prefix_java_common}maven-local
+BuildRequires: libffi-devel
+BuildRequires: %{?scl_prefix_java_common}ant
+BuildRequires: %{?scl_prefix_java_common}ant-junit
+
+%description
+An optimized Java interface to libffi.
+
+%package native
+Summary: %{pkg_name} JAR with native bits
+
+%description native
+This package contains %{pkg_name} JAR with native bits.
+
+%package javadoc
+Summary: Javadoc for %{pkg_name}
+BuildArch: noarch
+
+%description javadoc
+This package contains the API documentation for %{pkg_name}.
+
+%prep
+%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
+%setup -n %{pkg_name}-%{version} -q
+cp %{SOURCE1} .
+cp %{SOURCE2} .
+sed -i -e's/@VERSION/%{version}/g' MANIFEST.MF
+sed -i -e's/@VERSION/%{version}/g' NATIVE-MANIFEST.MF
+%patch0
+%patch1
+%patch2
+
+# ppc{,64} fix
+# https://bugzilla.redhat.com/show_bug.cgi?id=561448#c9
+sed -i.cpu -e '/m\$(MODEL)/d' jni/GNUmakefile libtest/GNUmakefile
+
+# remove uneccessary directories
+rm -rf archive/* jni/libffi/ jni/win32/ lib/CopyLibs/ lib/junit*
+
+find ./ -name '*.jar' -exec rm -f '{}' \;
+find ./ -name '*.class' -exec rm -f '{}' \;
+
+build-jar-repository -s -p lib/ junit
+
+%mvn_package 'com.github.jnr:jffi::native:' native
+%mvn_file ':{*}' %{pkg_name}/@1 @1
+%{?scl:EOF}
+
+
+%build
+%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
+# ant will produce JAR with native bits
+ant jar build-native -Duse.system.libffi=1
+
+# maven will look for JAR with native bits in archive/
+cp -p dist/jffi-*-Linux.jar archive/
+
+%mvn_build
+%{?scl:EOF}
+
+
+%install
+%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
+%mvn_install
+
+mkdir -p META-INF/
+cp %{SOURCE3} META-INF/
+jar umf MANIFEST.MF %{buildroot}%{_jnidir}/%{pkg_name}/%{pkg_name}.jar META-INF/p2.inf
+
+# install *.so
+install -dm 755 %{buildroot}%{_libdir}/%{pkg_name}
+cp -rp target/jni/* %{buildroot}%{_libdir}/%{pkg_name}/
+# create version-less symlink for .so file
+sofile=`find %{buildroot}%{_libdir}/%{pkg_name} -name lib%{pkg_name}-%{sover}.so`
+chmod +x ${sofile}
+ln -sr ${sofile} `dirname ${sofile}`/lib%{pkg_name}.so
+
+jar umf NATIVE-MANIFEST.MF %{buildroot}%{_jnidir}/%{pkg_name}/%{pkg_name}-native.jar
+%{?scl:EOF}
+
+
+%check
+%{?scl:scl enable %{scl_maven} %{scl} - << "EOF"}
+# skip tests on s390 until https://bugzilla.redhat.com/show_bug.cgi?id=1084914 is resolved
+%ifnarch s390
+# don't fail on unused parameters... (TODO: send patch upstream)
+sed -i 's|-Werror||' libtest/GNUmakefile
+ant -Duse.system.libffi=1 test
+%endif
+%{?scl:EOF}
+
+
+%files -f .mfiles
+%doc COPYING.GPL COPYING.LESSER LICENSE
+%dir %{_jnidir}/jffi
+%dir %{_mavenpomdir}/jffi
+
+%files native -f .mfiles-native
+%{_libdir}/%{pkg_name}
+%doc COPYING.GPL COPYING.LESSER LICENSE
+
+%files javadoc -f .mfiles-javadoc
+%doc COPYING.GPL COPYING.LESSER LICENSE
+
+%changelog
+* Mon Jul 13 2015 Mat Booth - 1.2.9-8.1
+- Import latest from Fedora
+
+* Mon Jul 13 2015 Mat Booth - 1.2.9-8
+- Fix unstripped binaries and empty debuginfo package
+- Ensure presence of ant-junit at buildtime
+- Fixed mixed use of space and tabs
+
+* Thu Jun 25 2015 Roland Grunberg - 1.2.9-7
+- Minor fixes to manifest as we introduce p2.inf file.
+
+* Wed Jun 24 2015 Jeff Johnston 1.2.9-6
+- Fix manifests so jffi requires com.kenai.jffi.native and native has bundle version.
+
+* Tue Jun 23 2015 Roland Grunberg - 1.2.9-5
+- Add missing Bundle-SymbolicName attribute to manifest.
+
+* Mon Jun 22 2015 Jeff Johnston 1.2.9-4
+- Fix native MANIFEST.MF
+
+* Thu Jun 18 2015 Jeff Johnston 1.2.9-3
+- Add MANIFEST.MF.
+
+* Wed Jun 17 2015 Fedora Release Engineering - 1.2.9-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Tue May 5 2015 Alexander Kurtakov 1.2.9-1
+- Update to upstream 1.2.9.
+
+* Thu Apr 30 2015 Alexander Kurtakov 1.2.8-1
+- Update to upstream 1.2.8.
+
+* Fri Feb 20 2015 Michal Srb - 1.2.7-5
+- Install version-less symlink for .so file
+
+* Fri Feb 20 2015 Michal Srb - 1.2.7-4
+- Fix rpmlint warnings
+
+* Fri Feb 20 2015 Michal Srb - 1.2.7-3
+- Install *.so file to %%{_libdir}/%%{pkg_name}/
+
+* Tue Feb 17 2015 Michal Srb - 1.2.7-2
+- Build jffi-native
+- Introduce javadoc subpackage
+
+* Fri Dec 05 2014 Mo Morsi - 1.2.7-1
+- Update to JFFI 1.2.7
+
+* Sat Aug 16 2014 Fedora Release Engineering - 1.2.6-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Thu Jun 12 2014 Alexander Kurtakov 1.2.6-7
+- Fix FTBFS.
+
+* Sun Jun 08 2014 Fedora Release Engineering - 1.2.6-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon Apr 07 2014 Dan HorĂ¡k - 1.2.6-5
+- skip tests on s390 until https://bugzilla.redhat.com/show_bug.cgi?id=1084914 is resolved
+
+* Fri Mar 28 2014 Michael Simacek - 1.2.6-4
+- Use Requires: java-headless rebuild (#1067528)
+
+* Sun Aug 11 2013 Mat Booth - 1.2.6-3
+- Remove BR on ant-nodeps, fixes FTBFS rhbz #992622
+
+* Sat Aug 03 2013 Fedora Release Engineering - 1.2.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Tue Feb 05 2013 Bohuslav Kabrda - 1.2.6-1
+- Updated to version 1.2.6.
+
+* Wed Dec 19 2012 Stanislav Ochotnicky - 1.0.10-4
+- revbump after jnidir change
+
+* Thu Jul 19 2012 Fedora Release Engineering - 1.0.10-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Jan 13 2012 Fedora Release Engineering - 1.0.10-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Aug 02 2011 Mo Morsi - 1.0.10-1
+- Updated to most recent upstream release
+
+* Wed Jun 01 2011 Mo Morsi - 1.0.9-1
+- Updated to most recent upstream release
+
+* Mon Oct 25 2010 - 1.0.2-1
+- Updated to most recent upstream release
+
+* Wed Apr 14 2010 - 0.6.5-4
+- added Mamoru Tasaka's fix for ppc{,64} to prep
+
+* Mon Mar 08 2010 - 0.6.5-3
+- fixes to jffi from feedback
+- don't strip debuginfo, remove extraneous executable bits,
+
+* Tue Feb 23 2010 - 0.6.5-2
+- fixes to jffi compilation process
+- fixes to spec to conform to package guidelines
+
+* Wed Feb 17 2010 - 0.6.5-1
+- bumped version
+- fixed package to comply to fedora guidelines
+
+* Tue Jan 19 2010 - 0.6.2-1
+- Initial build.