commit 05be91cb9a05a4de496dfd55aecff60cc42e14fd
Author: Dominic Cleal <dcleal@redhat.com>
Date:   Thu May 29 19:03:43 2014 +0100

    Import SCL dependencies

diff --git a/facter/facter-1.6.18.tar.gz b/facter/facter-1.6.18.tar.gz
new file mode 120000
index 000000000..3eafea97b
--- /dev/null
+++ b/facter/facter-1.6.18.tar.gz
@@ -0,0 +1 @@
+../.git/annex/objects/GK/19/SHA256E-s144491--18a63a04a32713c52270000c548fd1fcdf66e30e8ec29ace65225f12f5517f2b.tar.gz/SHA256E-s144491--18a63a04a32713c52270000c548fd1fcdf66e30e8ec29ace65225f12f5517f2b.tar.gz
\ No newline at end of file
diff --git a/facter/facter-1.6.18.tar.gz.asc b/facter/facter-1.6.18.tar.gz.asc
new file mode 100644
index 000000000..a29a0218a
--- /dev/null
+++ b/facter/facter-1.6.18.tar.gz.asc
@@ -0,0 +1,18 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+Comment: GPGTools - http://gpgtools.org
+
+iQIcBAABAgAGBQJRQOzqAAoJEBBUt6JL1uww82UQAKpGbXVmsjsCvyKJ1OakZwFa
+OxsHr+FPsMzE9iU1Y2aQRhZzDaAD5C+ufdJrJZuCxIW5ASxXAp6QurvCqKlA8xFl
+FWRXmFxD4KLizCtDMLCMET5DvdLa+xpcf6eOxDkQFzdBQgqYxMyCeJJhKO/j3Hqu
+D1kEB3mQrqBGOexmq9//IZUtZ7+uGFHTuqR4d2gDyUyrHLnloXi+5pCFdD8dBTZw
+rdJyr3vZWl5K8UYB5IWUkzIbtPRpKiqV7NIRDJ8NTMjbpFrvUhaaOoOs/2/Wz1y7
+piaKhMCbPuJ3HnjMdTHqaUwrEtBrdub0WtJhodCYD16ebkh51asfKAvtgBr3z8lM
+wK1U/MNJTsuXwfGeb6c7BsMY5DVlftCLZlpbARg8uerdX/KiI7Uwj3LrDlFnUDLz
+8+kkhUcKmFvoRCIGPGXImvSQTqkoyN3b5Fg8VqNJf5Ts1c5zvm/gCySl3wiwSEAG
+mgO5SAz9K0qPsGWXbpFv/UwmByuo7i8qXyWxCZ8Q3JYzSAiVQuGnMlQ8hL4mbUE4
+7MJzj7DQGDxVHOO2U5SlkCIH4E+u4WhNG9fQil8cp02mqWLWGvxpbVFdAEciieHT
++bsJiQzUp0Z+2jsHDDAgWbib4Ai2JIhy/FGMmNN1qXkPiwwdNYUZ+DU46/0uxR1C
+q9HtpvgaYy27XTEPdHiZ
+=xXGc
+-----END PGP SIGNATURE-----
diff --git a/facter/facter.spec b/facter/facter.spec
new file mode 100644
index 000000000..acc567806
--- /dev/null
+++ b/facter/facter.spec
@@ -0,0 +1,306 @@
+%{?scl:%scl_package facter}
+%{!?scl:%global pkg_name %{name}}
+
+# F-17 and above have ruby-1.9.x, and place libs in a different location
+# The checks also fail on older releases, due to an older mocha gem, it appears
+%if 0%{?fedora} >= 17
+%global enable_check    1
+%global facter_libdir   %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["vendorlibdir"]')
+%else
+%global enable_check    0
+%global facter_libdir   %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]')
+%endif
+%global facter_libdir %{ruby_vendorlibdir}
+#disable for Katello
+%global enable_check 0
+
+%global ruby_version    %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]')
+
+# There is nothing useful in debuginfo, facter is only an arch package to
+# allow arch-dependent requires.
+%global debug_package %{nil}
+
+Name:           %{?scl_prefix}facter
+Version:        1.6.18
+Release:        5%{?dist}
+Summary:        Command and ruby library for gathering system information
+
+Group:          System Environment/Base
+License:        ASL 2.0
+URL:            http://www.puppetlabs.com/puppet/related-projects/%{pkg_name}/
+Source0:        http://downloads.puppetlabs.com/%{pkg_name}/%{pkg_name}-%{version}.tar.gz
+Source1:        http://downloads.puppetlabs.com/%{pkg_name}/%{pkg_name}-%{version}.tar.gz.asc
+BuildRoot:      %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires:  %{?scl_prefix}ruby >= 1.8.1
+BuildRequires:  %{?scl_prefix}ruby-devel
+%if %{enable_check}
+BuildRequires:  net-tools
+BuildRequires:  %{?scl_prefix}rubygem(mocha)
+BuildRequires:  %{?scl_prefix}rubygem(rspec-core)
+BuildRequires:  %{?scl_prefix}rubygem(rspec)
+%endif
+
+# dmidecode and pciutils are not available on all arches
+%ifarch %ix86 x86_64 ia64
+Requires:       dmidecode
+Requires:       pciutils
+Requires:       virt-what
+%endif
+Requires:       net-tools
+# Work around the lack of ruby in the default mock buildroot
+%if "%{ruby_version}"
+%if 0%{?fedora} >= 19
+Requires:       %{?scl_prefix}ruby(release)
+%else
+Requires:       %{?scl_prefix}ruby(abi) = %{ruby_version}
+%endif
+%endif
+Requires:       which
+
+%description
+Facter is a lightweight program that gathers basic node information about the
+hardware and operating system. Facter is especially useful for retrieving
+things like operating system names, hardware characteristics, IP addresses, MAC
+addresses, and SSH keys.
+
+Facter is extensible and allows gathering of node information that may be
+custom or site specific. It is easy to extend by including your own custom
+facts. Facter can also be used to create conditional expressions in Puppet that
+key off the values returned by facts.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q
+
+
+%build
+# Nothing to build
+
+
+%install
+rm -rf %{buildroot}
+%{?scl:scl enable %{scl} "}
+ruby install.rb --destdir=%{buildroot} --quick --no-rdoc --sitelibdir=%{facter_libdir}
+%{?scl:"}
+
+#%if ! (0%{?fedora} || 0%{?rhel} >= 7)
+## Install man page, rubygem-rdoc is not available on older EL releases)
+#install -D -pv -m 644 man/man8/%{pkg_name}.8 %{buildroot}/%{_mandir}/man8/%{pkg_name}.8
+#%endif
+
+%postun
+# Work around issues where puppet fails to run after a facter update
+# https://bugzilla.redhat.com/806370
+# http://projects.puppetlabs.com/issues/12879
+if [ "$1" -ge 1 ]; then
+  /sbin/service puppet condrestart >/dev/null 2>&1 || :
+fi
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%check
+%if %{enable_check}
+%{?scl:scl enable %{scl} "}
+rspec spec
+%{?scl:"}
+%endif
+
+
+%files
+%defattr(-,root,root,-)
+%doc LICENSE README.md
+%{_bindir}/%{pkg_name}
+%{facter_libdir}/%{pkg_name}*
+%{_mandir}/man8/%{pkg_name}*
+
+%changelog
+* Wed May 22 2013 Mike McCune <mmccune@redhat.com> 1.6.18-5
+- rebuild to support SCL
+
+* Thu Mar 21 2013 Miroslav Suchý <msuchy@redhat.com> 1.6.18-4
+- put ruby libs into ruby_vendorlibdir (msuchy@redhat.com)
+
+* Thu Mar 21 2013 Miroslav Suchý <msuchy@redhat.com> 1.6.18-3
+- remove scl deps on non-ruby packages (msuchy@redhat.com)
+
+* Thu Mar 21 2013 Miroslav Suchý <msuchy@redhat.com> 1.6.18-2
+- new package built with tito
+
+* Mon Mar 18 2013 Todd Zullinger <tmz@pobox.com> - 1.6.18-1
+- Update to 1.6.18
+- Restart puppet in %%postun (#806370)
+- Require virt-what for improved KVM detection (#905592)
+- Ensure man page is installed on EL < 7
+
+* Tue Mar 12 2013 Vít Ondruch <vondruch@redhat.com> - 1.6.17-2
+- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0
+
+* Mon Feb 25 2013 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 1.6.17-1
+- New upstream version, fixes rhbz #892734
+
+* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.16-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Tue Dec 04 2012 Michael Stahnke <stahnma@puppetlabs.com> - 1.6.16-1
+- Update to 1.6.16
+
+* Wed Nov 28 2012 Michael Stahnke <stahnma@puppetlabs.com> -  1.6.15-1
+- Rebase to 1.6.15
+- Put asc file back as Source1
+
+* Fri Nov 09 2012 Michael Stahnke <stahnma@puppetlabs.com> - 1.6.13-2
+- Add patch for ec2 fix
+- Rebase to 1.6.14 via bz 871211
+
+* Mon Oct 29 2012 Michael Stahnke <stahnma@puppetlabs.com> - 1.6.13-1
+- Rebase to 1.6.13
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Mar 05 2012 Todd Zullinger <tmz@pobox.com> - 1.6.6-1
+- Update to 1.6.6
+
+* Sun Feb 19 2012 Todd Zullinger <tmz@pobox.com> - 1.6.5-5
+- Disable useless debuginfo generation (#795106, thanks to Ville Skyttä)
+- Update summary and description
+- Remove INSTALL from %%doc
+
+* Wed Feb 15 2012 Todd Zullinger <tmz@pobox.com> - 1.6.5-4
+- Only run rspec checks on Fedora >= 17
+
+* Mon Feb 13 2012 Todd Zullinger <tmz@pobox.com> - 1.6.5-3
+- Make spec file work for EPEL and Fedora
+- Drop BuildArch: noarch and make dmidecode/pciutils deps arch-specific
+- Make ec2 facts work on CentOS again (#790849, thanks to Jeremy Katz)
+- Preserve timestamps when installing files
+
+* Thu Feb 02 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.6.5-2
+- Rebuilt for Ruby 1.9.3.
+
+* Thu Jan 26 2012 Todd Zullinger <tmz@pobox.com> - 1.6.5-1
+- Update to 1.6.5
+- Require net-tools and pciutils, thanks to Dominic Cleal (#783749)
+
+* Thu Jan 05 2012 Todd Zullinger <tmz@pobox.com> - 1.6.4-1
+- Update to 1.6.4
+- Require dmidecode (upstream #11041)
+
+* Sat Oct 15 2011 Todd Zullinger <tmz@pobox.com> - 1.6.2-1
+- Update to 1.6.2
+- Update source URL
+
+* Thu Sep 29 2011 Todd Zullinger <tmz@pobox.com> - 1.6.1-1
+- Update to 1.6.1
+- Minor spec file reformatting
+
+* Wed Jul 27 2011 Todd Zullinger <tmz@pobox.com> - 1.6.0-2
+- Update license tag, GPLv2+ -> ASL 2.0
+
+* Thu Jul 14 2011 Todd Zullinger <tmz@pobox.com> - 1.6.0-1
+- Update to 1.6.0
+
+* Thu May 26 2011 Todd Zullinger <tmz@pobox.com> - 1.5.9-1
+- Update to 1.5.9
+- Improve Scientific Linux support, courtesy of Orion Poplawski (upstream #7682)
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.8-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sat Aug 28 2010 Todd Zullinger <tmz@pobox.com> - 1.5.8-1
+- Update to 1.5.8
+
+* Fri Sep 25 2009 Todd Zullinger <tmz@pobox.com> - 1.5.7-1
+- Update to 1.5.7
+- Update #508037 patch from upstream ticket
+
+* Wed Aug 12 2009 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 1.5.5-3
+- Fix #508037 or upstream #2355
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri May 22 2009 Todd Zullinger <tmz@pobox.com> - 1.5.5-1
+- Update to 1.5.5
+- Drop upstreamed libperms patch
+
+* Sat Feb 28 2009 Todd Zullinger <tmz@pobox.com> - 1.5.4-1
+- New version
+- Use upstream install script
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Tue Sep 09 2008 Todd Zullinger <tmz@pobox.com> - 1.5.2-1
+- New version
+- Simplify spec file checking for Fedora and RHEL versions
+
+* Mon Sep  8 2008 David Lutterkort <dlutter@redhat.com> - 1.5.1-1
+- New version
+
+* Thu Jul 17 2008 David Lutterkort <dlutter@redhat.com> - 1.5.0-3
+- Change 'mkdir' in install to 'mkdir -p'
+
+* Thu Jul 17 2008 David Lutterkort <dlutter@redhat.com> - 1.5.0-2
+- Remove files that were listed twice in files section
+
+* Mon May 19 2008 James Turnbull <james@lovedthanlosty.net> - 1.5.0-1
+- New version
+- Added util and plist files
+
+* Mon Sep 24 2007 David Lutterkort <dlutter@redhat.com> - 1.3.8-1
+- Update license tag
+- Copy all of lib/ into ruby_sitelibdir
+
+* Thu Mar 29 2007 David Lutterkort <dlutter@redhat.com> - 1.3.7-1
+- New version
+
+* Fri Jan 19 2007 David Lutterkort <dlutter@redhat.com> - 1.3.6-1
+- New version
+
+* Thu Jan 18 2007 David Lutterkort <dlutter@redhat.com> - 1.3.5-3
+- require which; facter is very unhappy without it
+
+* Mon Nov 20 2006 David Lutterkort <dlutter@redhat.com> - 1.3.5-2
+- Make require ruby(abi) and buildarch: noarch conditional for fedora 5 or
+  later to allow building on older fedora releases
+
+* Tue Oct 10 2006 David Lutterkort <dlutter@redhat.com> - 1.3.5-1
+- New version
+
+* Tue Sep 26 2006 David Lutterkort <dlutter@redhat.com> - 1.3.4-1
+- New version
+
+* Wed Sep 13 2006 David Lutterkort <dlutter@redhat.com> - 1.3.3-2
+- Rebuilt for FC6
+
+* Wed Jun 28 2006 David Lutterkort <dlutter@redhat.com> - 1.3.3-1
+- Rebuilt
+
+* Fri Jun 19 2006 Luke Kanies <luke@madstop.com> - 1.3.0-1
+- Fixed spec file to work again with the extra memory and processor files.
+- Require ruby(abi). Build as noarch
+
+* Fri Jun 9 2006 Luke Kanies <luke@madstop.com> - 1.3.0-1
+- Added memory.rb and processor.rb
+
+* Mon Apr 17 2006 David Lutterkort <dlutter@redhat.com> - 1.1.4-4
+- Rebuilt with changed upstream tarball
+
+* Tue Mar 21 2006 David Lutterkort <dlutter@redhat.com> - 1.1.4-3
+- Do not rely on install.rb, it will be deleted upstream
+
+* Mon Mar 13 2006 David Lutterkort <dlutter@redhat.com> - 1.1.4-2
+- Commented out noarch; requires fix for bz184199
+
+* Mon Mar  6 2006 David Lutterkort <dlutter@redhat.com> - 1.1.4-1
+- Removed unused macros
+
+* Mon Feb  6 2006 David Lutterkort <dlutter@redhat.com> - 1.1.1-2
+- Fix BuildRoot. Add dist to release tag
+
+* Wed Jan 11 2006 David Lutterkort <dlutter@redhat.com> - 1.1.1-1
+- Initial build.
diff --git a/ruby-wrapper/LICENSE b/ruby-wrapper/LICENSE
new file mode 100644
index 000000000..1986807ee
--- /dev/null
+++ b/ruby-wrapper/LICENSE
@@ -0,0 +1 @@
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
diff --git a/ruby-wrapper/README b/ruby-wrapper/README
new file mode 100644
index 000000000..34c82c8d2
--- /dev/null
+++ b/ruby-wrapper/README
@@ -0,0 +1,8 @@
+%{scl_prefix}-ruby-wrapper
+
+This is just a tiny wrapper script to be used as a shim where useful. It is
+used in OpenShift Origin for RHEL+RHSCL installs and it's been packaged 
+independently in hopes it might be useful for others.
+
+You should find an example script in your docdir (most likely
+/usr/share/doc/%{scl_prefix}-ruby-wrapper/)
diff --git a/ruby-wrapper/README.md b/ruby-wrapper/README.md
new file mode 100644
index 000000000..6be00a6e6
--- /dev/null
+++ b/ruby-wrapper/README.md
@@ -0,0 +1,21 @@
+ruby-wrapper
+============
+
+Wrapper for RHSCL ruby
+
+
+%{scl_prefix}-ruby-wrapper
+
+This is just a tiny wrapper script to be used as a shim where useful. It is
+used in OpenShift Origin for RHEL+RHSCL installs and it's been packaged 
+independently in hopes it might be useful for others.
+
+You should find an example script in your docdir (most likely
+/usr/share/doc/%{scl_prefix}-ruby-wrapper/)
+
+
+Note: There some modifications happening in the rpm spec file to make this 
+SCL agnostic in an attempt to be ready for the future so if you use this at
+face value it's not going to work and you need to change FIXMESCL in 
+ruby-wrapper and install it as /usr/bin/${SCL_NAME}-ruby (such that SCL_NAME
+were treated like a shell variable).
diff --git a/ruby-wrapper/example_shim b/ruby-wrapper/example_shim
new file mode 100644
index 000000000..e545fb7ba
--- /dev/null
+++ b/ruby-wrapper/example_shim
@@ -0,0 +1,6 @@
+export LD_LIBRARY_PATH=/opt/rh/ruby193/root/usr/local/lib64:/opt/rh/ruby193/root/usr/lib64
+export GEM_HOME=/opt/rh/ruby193/root/usr/share/gems
+export GEM_PATH=/opt/rh/ruby193/root/usr/local/share/gems:/opt/rh/ruby193/root/usr/share/gems
+
+ruby193-ruby $@
+
diff --git a/ruby-wrapper/ruby-wrapper b/ruby-wrapper/ruby-wrapper
new file mode 100644
index 000000000..70633be3b
--- /dev/null
+++ b/ruby-wrapper/ruby-wrapper
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+COMMAND="ruby $@"
+SCL=FIXMESCL
+
+scl enable $SCL "$COMMAND"
+
diff --git a/ruby-wrapper/ruby-wrapper-rails b/ruby-wrapper/ruby-wrapper-rails
new file mode 100644
index 000000000..772d1af37
--- /dev/null
+++ b/ruby-wrapper/ruby-wrapper-rails
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+COMMAND="rails $@"
+SCL=FIXMESCL
+
+scl enable $SCL "$COMMAND"
+
diff --git a/ruby-wrapper/ruby-wrapper-rake b/ruby-wrapper/ruby-wrapper-rake
new file mode 100644
index 000000000..135b64b36
--- /dev/null
+++ b/ruby-wrapper/ruby-wrapper-rake
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+COMMAND="rake $@"
+SCL=FIXMESCL
+
+scl enable $SCL "$COMMAND"
+
diff --git a/ruby-wrapper/ruby-wrapper.spec b/ruby-wrapper/ruby-wrapper.spec
new file mode 100644
index 000000000..357bd5389
--- /dev/null
+++ b/ruby-wrapper/ruby-wrapper.spec
@@ -0,0 +1,86 @@
+%{!?scl:%global pkg_name %{name}}
+%{?scl:%scl_package %{name}}
+
+%define wrapper_doc_dir %{_root_datadir}/doc/%{name}-%{version}
+
+%global rubyabi 1.9.1
+
+Summary: Wrapper for %{scl_prefix} ruby.
+Name: %{?scl:%scl_prefix}ruby-wrapper
+Version: 0.0.2
+Release: 5%{?dist}
+Group: Development/Languages
+License:  ASL 2.0
+URL: https://github.com/maxamillion/ruby-wrapper
+Requires: %{?scl:%scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl:%scl_prefix}ruby
+Requires: %{?scl:%scl_prefix}rubygems
+Source0: ruby-wrapper
+Source1: ruby-wrapper-rake
+Source2: ruby-wrapper-rails
+Source3: LICENSE
+Source4: README
+Source5: example_shim
+BuildArch: noarch
+
+%description
+Wrapper for %{scl_prefix} ruby so that other wrapper scripts can be
+written with a "shim." Examples can be found in the doc directory.
+
+%install
+
+# Create the %%{_root_bindir} wrapper:
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_bindir}
+install -p -m0755 %{SOURCE0} %{buildroot}%{_root_bindir}/%{scl_prefix}ruby
+install -p -m0755 %{SOURCE1} %{buildroot}%{_root_bindir}/%{scl_prefix}rake
+install -p -m0755 %{SOURCE2} %{buildroot}%{_root_bindir}/%{scl_prefix}rails
+
+# Modify the shim/wrapper to include the correct scl
+%if "%{?scl}" == "ruby193"
+sed -i 's/FIXMESCL/%{scl}\nif scl -l | grep -qw ^v8314$; then\nSCL="ruby193 v8314"\nfi/' %{buildroot}%{_root_bindir}/%{scl_prefix}ruby
+sed -i 's/FIXMESCL/%{scl}\nif scl -l | grep -qw ^v8314$; then\nSCL="ruby193 v8314"\nfi/' %{buildroot}%{_root_bindir}/%{scl_prefix}rake
+sed -i 's/FIXMESCL/%{scl}\nif scl -l | grep -qw ^v8314$; then\nSCL="ruby193 v8314"\nfi/' %{buildroot}%{_root_bindir}/%{scl_prefix}rails
+%else
+sed -i s/FIXMESCL/%{scl}/ %{buildroot}%{_root_bindir}/%{scl_prefix}ruby
+sed -i s/FIXMESCL/%{scl}/ %{buildroot}%{_root_bindir}/%{scl_prefix}rake
+sed -i s/FIXMESCL/%{scl}/ %{buildroot}%{_root_bindir}/%{scl_prefix}rails
+%endif
+
+mkdir -p %{buildroot}%{wrapper_doc_dir}
+
+install -p -m0644 %{SOURCE3} %{buildroot}%{wrapper_doc_dir}/LICENSE
+install -p -m0644 %{SOURCE4} %{buildroot}%{wrapper_doc_dir}/README
+install -p -m0644 %{SOURCE5} %{buildroot}%{wrapper_doc_dir}/example_shim
+
+%else 
+# Not SCL is an error, this should only build for SCL
+exit 1
+%endif
+
+%files
+%dir %{wrapper_doc_dir}
+%{wrapper_doc_dir}/*
+
+%{?scl:%{_root_bindir}/%{scl_prefix}ruby}
+%{?scl:%{_root_bindir}/%{scl_prefix}rake}
+%{?scl:%{_root_bindir}/%{scl_prefix}rails}
+
+
+%changelog
+* Tue May 06 2014 Dominic Cleal <dcleal@redhat.com> 0.0.2-5
+- Enable v8 collection too for SCL 1.1 (jmontleo@redhat.com)
+
+* Tue Dec 03 2013 Eric D Helms <ehelms@redhat.com> 0.0.2-4
+- new package built with tito
+
+* Wed Sep 18 2013 Sam Kottler <shk@redhat.com> -0.0.2-3
+* Add a rails wrapper
+* Mon Sep 9 2013 Sam Kottler <shk@redhat.com> - 0.0.2-2
+- Move /usr/bin/ruby193-ruby-rake to /usr/bin/ruby193-rake
+* Mon Sep 9 2013 Sam Kottler <shk@redhat.com> - 0.0.2-1
+- Add prefixed rake wrapper
+* Wed Jun 26 2013 Adam Miller <maxamillion@fedoraproject.org> - 0.0.1-2
+- Fix rubyabi 
+* Wed Jun 26 2013 Adam Miller <maxamillion@fedoraproject.org> - 0.0.1-1
+- First package of the ruby-wrapper
diff --git a/rubygem-addressable/addressable-2.3.5.gem b/rubygem-addressable/addressable-2.3.5.gem
new file mode 120000
index 000000000..77240caec
--- /dev/null
+++ b/rubygem-addressable/addressable-2.3.5.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Zm/mJ/SHA256E-s96768--e74d0e825fe79b12943c7e3cbd3a5c92f7e3ebb94485b2493d320d6876321b86.5.gem/SHA256E-s96768--e74d0e825fe79b12943c7e3cbd3a5c92f7e3ebb94485b2493d320d6876321b86.5.gem
\ No newline at end of file
diff --git a/rubygem-addressable/rubygem-addressable.spec b/rubygem-addressable/rubygem-addressable.spec
new file mode 100644
index 000000000..2bcce7763
--- /dev/null
+++ b/rubygem-addressable/rubygem-addressable.spec
@@ -0,0 +1,85 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from addressable-2.2.6.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name addressable
+
+%global rubyabi 1.9.1
+
+Summary: URI Implementation
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.3.5
+Release: 1%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://addressable.rubyforge.org/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}ruby(rubygems)
+BuildRequires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Addressable is a replacement for the URI implementation that is part of
+Ruby's standard library. It more closely conforms to the relevant RFCs and
+adds support for IRIs and URI templates.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/*
+%{gem_dir}/cache/%{gem_name}-%{version}.gem
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%files doc
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 2.3.5-1
+- Rebase to addressable 2.3.5 (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Marek Hulan <ares@igloonet.cz> 2.2.6-4
+- fix for SCL
+
+* Wed Mar 27 2013 Marek Hulan <ares@igloonet.cz> 2.2.6-3
+- new package built with tito
+
+* Mon Nov 05 2012 Miroslav Suchý <msuchy@redhat.com> 2.2.6-2
+- add rubygem-addressable (msuchy@redhat.com)
+
+* Wed Aug 10 2011 John Eckersberg <jeckersb@redhat.com> - 2.2.6-1
+- Initial package
diff --git a/rubygem-ancestry/ancestry-2.0.0.gem b/rubygem-ancestry/ancestry-2.0.0.gem
new file mode 120000
index 000000000..f17cd99a7
--- /dev/null
+++ b/rubygem-ancestry/ancestry-2.0.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Vw/X4/SHA256E-s16384--0d74af95229faed077af5c0dedf405e3b4519362353fdf9c7df740c9568778c0.0.gem/SHA256E-s16384--0d74af95229faed077af5c0dedf405e3b4519362353fdf9c7df740c9568778c0.0.gem
\ No newline at end of file
diff --git a/rubygem-ancestry/rubygem-ancestry.spec b/rubygem-ancestry/rubygem-ancestry.spec
new file mode 100644
index 000000000..030c71d52
--- /dev/null
+++ b/rubygem-ancestry/rubygem-ancestry.spec
@@ -0,0 +1,110 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name ancestry
+
+Summary: Organise ActiveRecord model into a tree structure
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 2.0.0
+Release: 2%{dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/stefankroes/ancestry
+Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-activerecord >= 2.2.2
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(ancestry) = %{version}
+
+%description
+Ancestry allows the records of a ActiveRecord model to be organised in a tree
+structure, using a single, intuitively formatted database column. It exposes
+all the standard tree structure relations (ancestors, parent, root, children,
+siblings, descendants) and all of them can be fetched in a single sql query.
+Additional features are named_scopes, integrity checking, integrity
+restoration, arrangement of (sub)tree into hashes and different strategies
+for dealing with orphaned records.
+
+%description
+TTFunk is a TrueType font parser written in pure ruby.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+%setup -q -D -T -n  %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+%{?scl:scl enable %{scl} "}
+# Create the gem as gem install only works on a gem file
+%{?scl:"}
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+rm -rf ./%{gem_dir}/gems/%{gem_name}-%{version}/.yardoc
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+mv %{buildroot}%{gem_instdir}/{MIT-LICENSE,README.rdoc} ./
+
+%files
+%doc MIT-LICENSE README.rdoc
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%{gem_instdir}/init.rb
+%{gem_instdir}/install.rb
+%{gem_instdir}/ancestry.gemspec
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_docdir}
+
+%changelog
+* Fri Sep 27 2013 Lukas Zapletal <lzap+git@redhat.com> 2.0.0-2
+- bumping ancestry (lzap+git@redhat.com)
+
+* Fri Sep 27 2013 Lukas Zapletal <lzap+rpm[@]redhat.com> - 2.0.0-1
+- bump to 2.0.0 because this is in Fedora 19 now
+
+* Wed Jul 03 2013 Dominic Cleal <dcleal@redhat.com> 1.3.0-4
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 1.3.0-2
+- new package built with tito
+
+* Fri Aug 10 2012 Miroslav Suchý <msuchy@redhat.com> 1.3.0-1
+- new package built with tito
+
diff --git a/rubygem-apipie-rails/apipie-rails-0.1.2.gem b/rubygem-apipie-rails/apipie-rails-0.1.2.gem
new file mode 120000
index 000000000..d8addc7d2
--- /dev/null
+++ b/rubygem-apipie-rails/apipie-rails-0.1.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/8m/V3/SHA256E-s242688--8d494b08412dcc475bb4a8c51c168df713466be361b80f78b125744c8a0a2334.2.gem/SHA256E-s242688--8d494b08412dcc475bb4a8c51c168df713466be361b80f78b125744c8a0a2334.2.gem
\ No newline at end of file
diff --git a/rubygem-apipie-rails/rubygem-apipie-rails.spec b/rubygem-apipie-rails/rubygem-apipie-rails.spec
new file mode 100644
index 000000000..3687e392f
--- /dev/null
+++ b/rubygem-apipie-rails/rubygem-apipie-rails.spec
@@ -0,0 +1,176 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name apipie-rails
+
+Summary: Rails API documentation tool and client generator
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.1.2
+Release: 1%{?dist}
+Group: Development/Libraries
+#This gem is released under MIT license. Copy is included in file MIT-LICENSE.
+#
+#Twitter Bootstrap and google-code-prettify are licensed under Apache License
+#2.0. Copy is included in file APACHE-LICENSE-2.0.
+License: MIT and ASL 2.0
+URL: http://github.com/Pajk/apipie-rails
+Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
+
+
+Requires: %{?scl_prefix}rubygems
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+
+BuildArch: noarch
+
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+This gem adds new methods to Rails controllers that can be used to describe
+resources exposed by API. Information entered with provided DSL are used
+to generate documentation, client or to validate incoming requests.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0} --no-rdoc --no-ri
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/app
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/MIT-LICENSE
+%doc %{gem_instdir}/APACHE-LICENSE-2.0
+
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/rel-eng
+%exclude %{gem_instdir}/.gitignore
+%exclude %{gem_instdir}/.rspec
+%exclude %{gem_instdir}/.travis.yml
+%exclude %{gem_instdir}/Gemfile.*
+%exclude %{gem_dir}/cache/%{gem_name}-%{version}.gem
+
+%files doc
+%doc %{gem_instdir}/MIT-LICENSE
+%doc %{gem_instdir}/README.rst
+%doc %{gem_instdir}/CHANGELOG.md
+%doc %{gem_instdir}/NOTICE
+%{gem_instdir}/Rakefile
+%{gem_instdir}/Gemfile
+%{gem_instdir}/%{gem_name}.gemspec
+
+%changelog
+* Tue May 13 2014 Ivan Nečas <inecas@redhat.com> 0.2.0-1
+- Bump version to 0.2.0 (inecas@redhat.com)
+
+* Thu Mar 20 2014 Ivan Nečas <inecas@redhat.com> 0.1.2-1
+- Bump version of apipie-rails to 0.1.2 (inecas@redhat.com)
+
+* Thu Mar 13 2014 Ivan Nečas <inecas@redhat.com> 0.1.1-1
+- Bump version of apipie-rails to 0.1.1 (inecas@redhat.com)
+
+* Mon Mar 03 2014 Ivan Nečas <inecas@redhat.com> 0.1.0-1
+- Bump version of apipie-rails to 0.1.0 (inecas@redhat.com)
+
+* Wed Sep 04 2013 Ivan Necas <inecas@redhat.com> 0.0.23-1
+- bumping version of apipie-rails to 0.0.23 (inecas@redhat.com)
+
+* Wed Jun 26 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.22-3
+- add ASL to license (msuchy@redhat.com)
+
+* Wed Jun 12 2013 Lukas Zapletal <lzap+git@redhat.com> 0.0.22-2
+- bumping version of apipie-rails to 0.0.22
+
+* Wed May 29 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.21-2
+- change ruby(abi) to ruby(release) for F19+ (msuchy@redhat.com)
+
+* Fri May 10 2013 Ivan Necas <inecas@redhat.com> 0.0.21-1
+- Use new version of apipie-rails - needed by the Foreman (inecas@redhat.com)
+- remove empty tito.props and definition which are duplicate with default from
+  rel-eng/tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Thu Mar 07 2013 Lukas Zapletal <lzap+git@redhat.com> 0.0.18-4
+- fixing ruby193 scl package (lzap+git@redhat.com)
+- require ruby193-build for tagging (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.18-3
+- remove false positive scl macro (msuchy@redhat.com)
+
+* Mon Feb 25 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.18-2
+- new package built with tito
+
+* Mon Feb 25 2013 Ivan Necas <inecas@redhat.com> 0.0.18-1
+- param_group and def_param_group keywords
+- :action_aware options for reusing param groups for create/update actions
+- support for multiple see links at action and ability to provide
+  description of see links
+
+* Wed Feb 06 2013 Ivan Necas <inecas@redhat.com> 0.0.16-1
+- New version of apipie from upstream (inecas@redhat.com)
+
+* Thu Nov 29 2012 Petr Chalupa <pchalupa@redhat.com> 0.0.13-1
+- New version of apipie (0.0.13) from upstream (pchalupa@redhat.com)
+
+* Tue Oct 09 2012 Ivan Necas <inecas@redhat.com> 0.0.12-1
+- New version of apipie from upstream (inecas@redhat.com)
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 0.0.11-3
+- summary should not end with dot (msuchy@redhat.com)
+- fix spelling (msuchy@redhat.com)
+- do not package Gemfile.lock (msuchy@redhat.com)
+
+* Fri Aug 17 2012 Ivan Necas <inecas@redhat.com> 0.0.11-2
+- fix building for F17 reusing the macros from rubygem- devel
+
+* Wed Aug 15 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.11-1
+- apipie-rails v0.0.11
+- cli client improvements
+
+* Tue Jul 31 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.9-2
+- exclude documentation from rpm
+
+* Tue Jul 31 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.9-1
+- New version of apipie-rails gem (pajkycz@gmail.com)
+- fixed client generator
+- resource level error descriptions
+- response supported formats
+
+* Thu Jul 26 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.8-3
+- Require rubygems in spec file
+
+* Thu Jul 26 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.8-2
+- New version of apipie-rails gem
+- Generated client improvements
+
+* Thu Jul 26 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.7-2
+- removed doc files from rpm
+
+* Wed Jul 25 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.7-1
+- new package built with tito
+
diff --git a/rubygem-audited-activerecord/audited-activerecord-3.0.0-tests.tgz b/rubygem-audited-activerecord/audited-activerecord-3.0.0-tests.tgz
new file mode 120000
index 000000000..9f3273d80
--- /dev/null
+++ b/rubygem-audited-activerecord/audited-activerecord-3.0.0-tests.tgz
@@ -0,0 +1 @@
+../.git/annex/objects/2X/4p/SHA256E-s9215--3b04e462abe116e550abbc0c55b61479cf2509bbf0f257300c491be0ad299629.tgz/SHA256E-s9215--3b04e462abe116e550abbc0c55b61479cf2509bbf0f257300c491be0ad299629.tgz
\ No newline at end of file
diff --git a/rubygem-audited-activerecord/audited-activerecord-3.0.0.gem b/rubygem-audited-activerecord/audited-activerecord-3.0.0.gem
new file mode 120000
index 000000000..0fa9cf5d4
--- /dev/null
+++ b/rubygem-audited-activerecord/audited-activerecord-3.0.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/f1/F9/SHA256E-s5632--45801205ba19f1741af57dc0c34dfb6248751dd4b5604eeea322b5d6b8423b41.0.gem/SHA256E-s5632--45801205ba19f1741af57dc0c34dfb6248751dd4b5604eeea322b5d6b8423b41.0.gem
\ No newline at end of file
diff --git a/rubygem-audited-activerecord/rubygem-audited-activerecord.spec b/rubygem-audited-activerecord/rubygem-audited-activerecord.spec
new file mode 100644
index 000000000..235b3122b
--- /dev/null
+++ b/rubygem-audited-activerecord/rubygem-audited-activerecord.spec
@@ -0,0 +1,98 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from audited-activerecord-3.0.0.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name audited-activerecord
+%global rubyabi 1.9.1
+
+Summary: Log all changes to your ActiveRecord models
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 3.0.0
+Release: 3%{?dist}
+Group: Development/Languages
+# The license information is missing in the .gem file ATM.
+# https://github.com/collectiveidea/audited/pull/127
+License: MIT
+URL: https://github.com/collectiveidea/audited
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# Hopefully the tests will be included in the gem in the future.
+# https://github.com/collectiveidea/audited/pull/125
+#
+# git clone https://github.com/collectiveidea/audited.git && cd audited && git checkout 224786f
+# tar czvf audited-activerecord-3.0.0-tests.tgz spec/audited/adapters/active_record \
+#   spec/rails_app spec/support/active_record spec/*.rb test
+Source1: %{gem_name}-%{version}-tests.tgz
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}rubygem(audited) = 3.0.0
+Requires: %{?scl_prefix}rubygem(activerecord) => 3.0
+Requires: %{?scl_prefix}rubygem(activerecord) < 4
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}rubygem(audited) = 3.0.0
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildRequires: %{?scl_prefix}rubygem(rails) => 3.0
+BuildRequires: %{?scl_prefix}rubygem(rails) < 4
+BuildRequires: %{?scl_prefix}rubygem(rspec-rails)
+BuildRequires: %{?scl_prefix}rubygem(sqlite3)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Log all changes to your ActiveRecord models
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -pa .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%check
+tar xzvf %{SOURCE1} -C .%{gem_instdir}
+pushd .%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+rspec spec
+%{?scl:"}
+# This is ugly. It should be probably reported to upstream ;)
+%{?scl:scl enable %{scl} - << \EOF}
+RUBYOPT='-Ilib -rrails/all -raudited-activerecord' testrb test/*_test.rb
+%{?scl:EOF}
+popd
+
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+
+%changelog
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 3.0.0-2
+- new package built with tito
+
+* Wed Nov 28 2012 Vít Ondruch <vondruch@redhat.com> - 3.0.0-1
+- Initial package
diff --git a/rubygem-audited/audited-3.0.0.gem b/rubygem-audited/audited-3.0.0.gem
new file mode 120000
index 000000000..dab4998a7
--- /dev/null
+++ b/rubygem-audited/audited-3.0.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/7J/2K/SHA256E-s17920--14234a1349536d135fa6276ac65e4ee01f96bb04158d219739e6dd6cc33f3ca1.0.gem/SHA256E-s17920--14234a1349536d135fa6276ac65e4ee01f96bb04158d219739e6dd6cc33f3ca1.0.gem
\ No newline at end of file
diff --git a/rubygem-audited/rubygem-audited.spec b/rubygem-audited/rubygem-audited.spec
new file mode 100644
index 000000000..7fe00800a
--- /dev/null
+++ b/rubygem-audited/rubygem-audited.spec
@@ -0,0 +1,91 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from audited-3.0.0.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name audited
+%global rubyabi 1.9.1
+
+Summary: Log all changes to your models
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 3.0.0
+Release: 3%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/collectiveidea/audited
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Log all changes to your models
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -pa .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+# Remove shebang from Rakefile that do not have executable permission.
+sed -i '/^#!\//d' %{buildroot}%{gem_instdir}/Rakefile
+
+
+%check
+# Unfortunatelly, there doesn't seems to be any test coverage of auditable gem.
+# However, there are available test suites for audited's ORM adapters.
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%doc %{gem_instdir}/LICENSE
+%exclude %{gem_instdir}/.*
+# audited-*.gemspec seems to be included by mistake.
+# https://github.com/collectiveidea/audited/pull/124
+%exclude %{gem_instdir}/audited-*.gemspec
+# Seems that spec and test folders are included just by mistake.
+# https://github.com/collectiveidea/audited/pull/125
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/test
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/Appraisals
+%doc %{gem_instdir}/CHANGELOG
+%{gem_instdir}/Gemfile
+%doc %{gem_instdir}/README.md
+%{gem_instdir}/Rakefile
+%{gem_instdir}/audited.gemspec
+%{gem_instdir}/gemfiles
+
+%changelog
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 3.0.0-2
+- new package built with tito
+
+* Tue Nov 27 2012 Vít Ondruch <vondruch@redhat.com> - 3.0.0-1
+- Initial package
diff --git a/rubygem-autoparse/autoparse-0.3.3.gem b/rubygem-autoparse/autoparse-0.3.3.gem
new file mode 120000
index 000000000..0d6ea16e8
--- /dev/null
+++ b/rubygem-autoparse/autoparse-0.3.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/GK/qw/SHA256E-s26624--6651baaa01f8e5b898e702e38726cab3acbed1226ab9e4f3ab9309f6509bbce0.3.gem/SHA256E-s26624--6651baaa01f8e5b898e702e38726cab3acbed1226ab9e4f3ab9309f6509bbce0.3.gem
\ No newline at end of file
diff --git a/rubygem-autoparse/rubygem-autoparse.spec b/rubygem-autoparse/rubygem-autoparse.spec
new file mode 100644
index 000000000..92b3ae417
--- /dev/null
+++ b/rubygem-autoparse/rubygem-autoparse.spec
@@ -0,0 +1,86 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name autoparse
+%global rubyabi 1.9.1
+
+Summary: An implementation of the JSON Schema specification
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.3.3
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://autoparse.rubyforge.org/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(addressable) >= 2.3.1
+Requires: %{?scl_prefix}rubygem(extlib) >= 0.9.15
+Requires: %{?scl_prefix}rubygem(multi_json) >= 1.0.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+An implementation of the JSON Schema specification. Provides automatic parsing
+for any given JSON Schema.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/tasks
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/CHANGELOG.md
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 0.3.3-1
+- new package built with tito
+
diff --git a/rubygem-bootstrap-sass/bootstrap-sass-3.0.3.0.gem b/rubygem-bootstrap-sass/bootstrap-sass-3.0.3.0.gem
new file mode 120000
index 000000000..a934304d9
--- /dev/null
+++ b/rubygem-bootstrap-sass/bootstrap-sass-3.0.3.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/P9/XZ/SHA256E-s169984--3f9269bae459b9f48bcb46524497fe7c422919708d12d9d9b1096b45339654c7.0.gem/SHA256E-s169984--3f9269bae459b9f48bcb46524497fe7c422919708d12d9d9b1096b45339654c7.0.gem
\ No newline at end of file
diff --git a/rubygem-bootstrap-sass/rubygem-bootstrap-sass.spec b/rubygem-bootstrap-sass/rubygem-bootstrap-sass.spec
new file mode 100644
index 000000000..d7d23fb3e
--- /dev/null
+++ b/rubygem-bootstrap-sass/rubygem-bootstrap-sass.spec
@@ -0,0 +1,88 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name bootstrap-sass
+%global rubyabi 1.9.1
+
+Summary: Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 3.0.3.0
+Release: 1%{?dist}
+Group: Development/Languages
+License: ASL 2.0
+URL: https://github.com/twbs/bootstrap-sass
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(sass) >= 3.2
+Requires: %{?scl_prefix}rubygem(sass) < 4
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+bootstrap-sass is a Sass-powered version of Bootstrap, ready to drop right into
+your Sass powered applications.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_instdir}/tasks
+%{gem_instdir}/templates
+%{gem_instdir}/vendor
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/test
+%exclude %{gem_instdir}/*.gemspec
+%exclude %{gem_instdir}/.*
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/*.md
+%{gem_instdir}/Rakefile
+
+%changelog
+* Sun Dec 29 2013 Dominic Cleal <dcleal@redhat.com> 3.0.3.0-1
+- new package built with tito
+
diff --git a/rubygem-commonjs/commonjs-0.2.6.gem b/rubygem-commonjs/commonjs-0.2.6.gem
new file mode 120000
index 000000000..50df22fc7
--- /dev/null
+++ b/rubygem-commonjs/commonjs-0.2.6.gem
@@ -0,0 +1 @@
+../.git/annex/objects/GK/9z/SHA256E-s7168--666591bc82e39b83674091856a1e89ce77a3be72cf376de5c44f186da21512f9.6.gem/SHA256E-s7168--666591bc82e39b83674091856a1e89ce77a3be72cf376de5c44f186da21512f9.6.gem
\ No newline at end of file
diff --git a/rubygem-commonjs/rubygem-commonjs.spec b/rubygem-commonjs/rubygem-commonjs.spec
new file mode 100644
index 000000000..1220ef2e8
--- /dev/null
+++ b/rubygem-commonjs/rubygem-commonjs.spec
@@ -0,0 +1,96 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from commonjs-0.2.6.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name commonjs
+%global rubyabi 1.9.1
+
+Summary: Provide access to your Ruby and Operating System runtime via the commonjs API
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.2.6
+Release: 6%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://github.com/cowboyd/commonjs.rb
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}ruby 
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}ruby 
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Host CommonJS JavaScript environments in Ruby
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+rm -rf %{buildroot}%{gem_instdir}/{.gitignore,.gitmodules}
+
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%exclude %{gem_instdir}/%{gem_name}.gemspec
+%doc %{gem_instdir}/README.md
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/.travis.yml
+%{gem_instdir}/Gemfile
+%{gem_instdir}/Rakefile
+%{gem_instdir}/spec
+
+%changelog
+* Wed Jul 03 2013 Dominic Cleal <dcleal@redhat.com> 0.2.6-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.6-4
+- new package built with tito
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.6-3
+- fix files section (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.6-2
+- new package built with tito
+
+* Fri Mar 29 2013 msuchy@redhat.com - 0.2.6-1
+- Initial package
diff --git a/rubygem-daemons/daemons-1.1.4.gem b/rubygem-daemons/daemons-1.1.4.gem
new file mode 120000
index 000000000..c21e7e7dc
--- /dev/null
+++ b/rubygem-daemons/daemons-1.1.4.gem
@@ -0,0 +1 @@
+../.git/annex/objects/zw/Kp/SHA256E-s33792--e7a7e5bf035a6de2b7aed78845c8f2e5fdfd00b157620b250448e80048a6ca8e.4.gem/SHA256E-s33792--e7a7e5bf035a6de2b7aed78845c8f2e5fdfd00b157620b250448e80048a6ca8e.4.gem
\ No newline at end of file
diff --git a/rubygem-daemons/daemons.spec b/rubygem-daemons/daemons.spec
new file mode 100644
index 000000000..87e4f26b8
--- /dev/null
+++ b/rubygem-daemons/daemons.spec
@@ -0,0 +1,82 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%define gem_name daemons
+
+Summary: A toolkit to create and control daemons in different ways
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.1.4
+Release: 8%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://daemons.rubyforge.org
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{?scl_prefix}rubygems
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygems-devel
+
+%description
+Daemons provides an easy way to wrap existing ruby scripts (for example a
+self-written server)  to be run as a daemon and to be controlled by simple
+start/stop/restart commands.  You can also call blocks as daemons and control
+them from the parent or just daemonize the current process.  Besides this
+basic functionality, daemons offers many advanced features like exception
+backtracing and logging (in case your ruby script crashes) and monitoring and
+automatic restarting of your processes if they crash.
+
+%prep
+%setup -q -c -T -n  %{gem_name}-%{version}
+
+%build
+mkdir -p .%{gem_dir}
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc \
+        %{SOURCE0}
+%{?scl:"}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+%files
+%{gem_dir}/gems/%{gem_name}-%{version}/
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+%doc %{gem_instdir}/README
+%doc %{gem_instdir}/Releases
+%doc %{gem_instdir}/TODO
+%{gem_dir}/cache/%{gem_name}-%{version}.gem
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%changelog
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 1.1.4-7
+- BR rubygems-devel (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 1.1.4-6
+- do not regenerate gemspec (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 1.1.4-5
+- wrap up generating gemspec in SC environment (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 1.1.4-4
+- new package built with tito
+
+* Mon Jul 16 2012 Miroslav Suchý <msuchy@redhat.com> 1.1.4-3
+- edit spec for fedora (msuchy@redhat.com)
+
+* Mon Jul 11 2011 Mike McCune <mmccune@redhat.com> 1.1.4-2
+- fixed new-lines in daemon.spec (dmitri@redhat.com)
+
+* Wed Jul 06 2011 Dmitri Dolguikh <dmitri@redhat.com> 1.1.4-1
+- new package built with tito
+
+* Wed Jul 06 2011  <wb@killing-time.appliedlogic.ca> - 1.1.4-1
+- Initial package
diff --git a/rubygem-deep_cloneable/deep_cloneable-1.6.0.gem b/rubygem-deep_cloneable/deep_cloneable-1.6.0.gem
new file mode 120000
index 000000000..b13ac89ae
--- /dev/null
+++ b/rubygem-deep_cloneable/deep_cloneable-1.6.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/PF/ww/SHA256E-s13312--39753c3c10322c30b4b3cb556b95aa9c26982e039a71298826e3671e668224aa.0.gem/SHA256E-s13312--39753c3c10322c30b4b3cb556b95aa9c26982e039a71298826e3671e668224aa.0.gem
\ No newline at end of file
diff --git a/rubygem-deep_cloneable/rubygem-deep_cloneable.spec b/rubygem-deep_cloneable/rubygem-deep_cloneable.spec
new file mode 100644
index 000000000..b737b4ddf
--- /dev/null
+++ b/rubygem-deep_cloneable/rubygem-deep_cloneable.spec
@@ -0,0 +1,84 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkgname %{name}}
+
+%define gem_name deep_cloneable
+%global rubyabi 1.9.1
+
+Summary: This gem gives every ActiveRecord::Base object the possibility to do a deep clone
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.6.0
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/moiristo/deep_cloneable
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem-activerecord >= 3.1.0
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Extends the functionality of ActiveRecord::Base#clone to perform a deep clone
+that includes user specified associations.
+
+
+%package doc
+Summary: Documentation for %{name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkgname} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{name}
+
+
+%prep
+%setup -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -pa .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/*
+%{gem_instdir}/lib
+%exclude %{gem_dir}/cache/%{gem_name}-%{version}.gem
+%exclude %{gem_instdir}/.travis.yml
+%exclude %{gem_instdir}/.document
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%files doc
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.rdoc
+
+%changelog
+* Mon Mar 03 2014 Dominic Cleal <dcleal@redhat.com> 1.6.0-2
+- Add rubygems-devel BR so SCL paths are used, tidy up (dcleal@redhat.com)
+
+* Fri Feb 21 2014 Daniel Lobato <dlobatog@redhat.com> - 1.6.0-1
+- new package rubygem-deep_cloneable built with tito
diff --git a/rubygem-eventmachine/eventmachine-0.12.10.gem b/rubygem-eventmachine/eventmachine-0.12.10.gem
new file mode 120000
index 000000000..ddcd64ba6
--- /dev/null
+++ b/rubygem-eventmachine/eventmachine-0.12.10.gem
@@ -0,0 +1 @@
+../.git/annex/objects/p5/03/SHA256E-s220672--dcbe6193937366b5c6803f8aa09886ff241eeb13b782c1a33ff1a76f99a6ede8.10.gem/SHA256E-s220672--dcbe6193937366b5c6803f8aa09886ff241eeb13b782c1a33ff1a76f99a6ede8.10.gem
\ No newline at end of file
diff --git a/rubygem-eventmachine/rubygem-eventmachine-0.12.10-makes-HTTPS-client-tests-pass.patch b/rubygem-eventmachine/rubygem-eventmachine-0.12.10-makes-HTTPS-client-tests-pass.patch
new file mode 100644
index 000000000..cf4c9af7e
--- /dev/null
+++ b/rubygem-eventmachine/rubygem-eventmachine-0.12.10-makes-HTTPS-client-tests-pass.patch
@@ -0,0 +1,29 @@
+From 2c083af3d06d333db31dcc1bbe535b10285a8d1e Mon Sep 17 00:00:00 2001
+From: "Michael S. Klishin" <michael@novemberain.com>
+Date: Sun, 23 May 2010 21:09:03 +0400
+Subject: [PATCH] Makes HTTPS client tests pass
+
+https://www.amazon.com now redirects to http version. Switching site
+is enough to make the test pass.
+
+Signed-off-by: Aman Gupta <aman@tmm1.net>
+---
+ tests/test_httpclient2.rb |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/tests/test_httpclient2.rb b/tests/test_httpclient2.rb
+index ef72e7c..4705e42 100644
+--- a/tests/test_httpclient2.rb
++++ b/tests/test_httpclient2.rb
+@@ -141,7 +141,7 @@ class TestHttpClient2 < Test::Unit::TestCase
+   def test_https_get
+     d = nil
+     EM.run {
+-      http = EM::P::HttpClient2.connect :host => 'www.amazon.com', :port => 443, :ssl => true
++      http = EM::P::HttpClient2.connect :host => 'www.apple.com', :port => 443, :ssl => true
+       d = http.get "/"
+       d.callback {
+         EM.stop
+-- 
+1.7.7.5
+
diff --git a/rubygem-eventmachine/rubygem-eventmachine.spec b/rubygem-eventmachine/rubygem-eventmachine.spec
new file mode 100644
index 000000000..aa11d950e
--- /dev/null
+++ b/rubygem-eventmachine/rubygem-eventmachine.spec
@@ -0,0 +1,130 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name eventmachine
+
+Summary:    Ruby/EventMachine library
+Name:       %{?scl_prefix}rubygem-%{gem_name}
+Version:    0.12.10
+Release:    9%{?dist}
+Group:      Development/Languages
+License:    GPLv2 or Ruby
+URL:        http://rubyeventmachine.com
+Source0:    http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+# Fixed upstream
+# https://github.com/eventmachine/eventmachine/commit/2c083af3d06d333db31dcc1bbe535b10285a8d1e
+Patch0:     rubygem-eventmachine-0.12.10-makes-HTTPS-client-tests-pass.patch
+Requires:   %{?scl_prefix}ruby(rubygems)
+Requires:   %{?scl_prefix}ruby(abi) = 1.9.1
+Provides:   %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+BuildRequires: %{?scl_prefix}rubygems-devel, %{?scl_prefix}ruby-devel, openssl-devel, %{?scl_prefix}rubygem(rake), net-tools
+
+%description
+EventMachine implements a fast, single-threaded engine for arbitrary network
+communications. It's extremely easy to use in Ruby. EventMachine wraps all
+interactions with IP sockets, allowing programs to concentrate on the
+implementation of network protocols. It can be used to create both network
+servers and clients. To create a server or client, a Ruby program only needs
+to specify the IP address and port, and provide a Module that implements the
+communications protocol. Implementations of several standard network protocols
+are provided with the package, primarily to serve as examples. The real goal
+of EventMachine is to enable programs to easily interface with other programs
+using TCP/IP, especially if custom protocols are required.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+BuildArch: noarch
+
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+This package contains documentation for %{pkg_name}.
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -T -c
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install -V \
+    --local \
+    --install-dir $(pwd)/%{gem_dir} \
+    --force --rdoc \
+    %{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+%patch0 -p1
+popd
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+mkdir -p %{buildroot}%{ruby_vendorarchdir}
+cp -a ./%{gem_dir}/* %{buildroot}/%{gem_dir}/
+
+rm -rf %{buildroot}%{gem_instdir}/{ext,java,.gitignore,setup.rb,%{gem_name}.gemspec}
+mv %{buildroot}%{gem_libdir}/*.so %{buildroot}%{ruby_vendorarchdir}
+
+%clean
+rm -rf %{buildroot}
+
+%check
+pushd .%{gem_instdir}
+# no kqueue support on Linux
+rm -f tests/test_process_watch.rb
+rake test || :
+
+%files
+%defattr(-, root, root, -)
+%doc %{gem_instdir}/README
+%dir %{gem_instdir}/
+%{gem_libdir}
+%{gem_cache}
+%{gem_spec}
+%{ruby_vendorarchdir}/rubyeventmachine.so
+%{ruby_vendorarchdir}/fastfilereaderext.so
+
+%files doc
+%defattr(-, root, root, -)
+%{gem_docdir}
+%{gem_instdir}/Rakefile
+%{gem_instdir}/docs
+%{gem_instdir}/examples
+%{gem_instdir}/tasks
+%{gem_instdir}/tests
+%{gem_instdir}/web
+
+%changelog
+* Mon Mar 11 2013 Miroslav Suchý <msuchy@redhat.com> 0.12.10-9
+- require ruby-devel from SC (msuchy@redhat.com)
+- fixing ruby193 scl package (lzap+git@redhat.com)
+
+* Mon Mar 11 2013 Lukas Zapletal <lzap+git@redhat.com> 0.12.10-8
+- converted rubygem-eventmachine to ruby193-rubygem-eventmachine
+  (lzap+git@redhat.com)
+- import rubygem-eventmachine from Fedora (lzap+git@redhat.com)
+- removing thin and em - will re-import F18 version (lzap+git@redhat.com)
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.10-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Thu Jan 19 2012 Vít Ondruch <vondruch@redhat.com> - 0.12.10-6
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.10-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.10-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sun Jan 31 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> 0.12.10-3
+- More review fixes
+
+* Sun Jan 31 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> 0.12.10-2
+- Review fixes (#556433)
+
+* Mon Jan 18 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> - 0.12.10-1
+- Initial package
diff --git a/rubygem-excon/excon-0.32.1.gem b/rubygem-excon/excon-0.32.1.gem
new file mode 120000
index 000000000..bd6226632
--- /dev/null
+++ b/rubygem-excon/excon-0.32.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/2X/zF/SHA256E-s200192--aa1018571cb72248f82a9b88ab631b53179d0de0f8169957eebe512404805f79.1.gem/SHA256E-s200192--aa1018571cb72248f82a9b88ab631b53179d0de0f8169957eebe512404805f79.1.gem
\ No newline at end of file
diff --git a/rubygem-excon/rubygem-excon.spec b/rubygem-excon/rubygem-excon.spec
new file mode 100644
index 000000000..0678b08db
--- /dev/null
+++ b/rubygem-excon/rubygem-excon.spec
@@ -0,0 +1,162 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name excon
+
+Summary: Http(s) EXtended CONnections
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.32.1
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/geemus/excon
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: ca-certificates
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: ca-certificates
+# For the tests
+#BuildRequires: %{?scl_prefix}rubygem(activesupport)
+#BuildRequires: %{?scl_prefix}rubygem(delorean)
+#BuildRequires: %{?scl_prefix}rubygem(open4)
+#BuildRequires: %{?scl_prefix}rubygem(shindo)
+#BuildRequires: %{?scl_prefix}rubygem(sinatra)
+#BuildRequires: %{?scl_prefix}rubygem(eventmachine)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+EXtended http(s) CONnections
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force --rdoc %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+# kill bundled cacert.pem
+ln -sf /etc/pki/tls/cert.pem \
+	%{buildroot}%{gem_instdir}/data/cacert.pem
+
+%check
+#pushd .%{gem_instdir}
+## we need to remove the dependency on bundler and add the missing requires (workaround for not using the Rakefile)
+## do not require bundler
+#sed -i -e "s/'bundler'/'open4'\nrequire 'delorean'/" -e '/Bundler.require(:default, :development)/d' tests/test_helper.rb
+#
+## require the other needed libs
+## https://github.com/geemus/excon/issues/135#issuecomment-7181061
+#RUBYOPT="-r./lib/excon -rsecurerandom" shindo
+#popd
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/data
+%{gem_libdir}
+%exclude %{gem_cache}
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/Gemfile.lock
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE.md
+
+%files doc
+%{gem_instdir}/benchmarks
+%{gem_instdir}/tests
+%{gem_instdir}/excon.gemspec
+%{gem_instdir}/Rakefile
+%doc %{gem_docdir}
+%doc %{gem_instdir}/changelog.txt
+%doc %{gem_instdir}/CONTRIBUTING.md
+%doc %{gem_instdir}/CONTRIBUTORS.md
+%doc %{gem_instdir}/LICENSE.md
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Wed Mar 19 2014 Dominic Cleal <dcleal@redhat.com> 0.32.1-1
+- Rebase to excon 0.32.1 (dcleal@redhat.com)
+
+* Tue Jan 07 2014 Dominic Cleal <dcleal@redhat.com> 0.31.0-1
+- Rebase to excon 0.31.0 (dcleal@redhat.com)
+
+* Wed Nov 06 2013 Dominic Cleal <dcleal@redhat.com> 0.28.0-1
+- Rebase to excon 0.28.0 (dcleal@redhat.com)
+
+* Tue Aug 13 2013 Dominic Cleal <dcleal@redhat.com> 0.25.3-2
+- Don't use SCL prefixes on cacert.pem path (dcleal@redhat.com)
+
+* Mon Jul 22 2013 Dominic Cleal <dcleal@redhat.com> 0.25.3-1
+- Rebase to excon 0.25.3 (dcleal@redhat.com)
+
+* Wed Jul 03 2013 Dominic Cleal <dcleal@redhat.com> 0.23.0-2
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Tue Jun 11 2013 Dominic Cleal <dcleal@redhat.com> 0.23.0-1
+- Rebase to excon 0.23.0 (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri May 03 2013 Ivan Necas <inecas@redhat.com> 0.20.1-1
+- Update the version due to Foreman dependency (inecas@redhat.com)
+
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 0.14.3-3
+- disable tests (msuchy@redhat.com)
+
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 0.14.3-2
+- new package built with tito
+
+* Mon Jul 23 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.14.3-1
+- Update to Excon 0.14.3.
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Jun 25 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.14.1-1
+- Update to Excon 0.14.1
+- Removed no longer needed patch for downgrading dependencies.
+- Remove newly bundled certificates and link to system ones.
+
+* Wed Feb 01 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.9.5-2
+- Fixed the changelog.
+
+* Wed Feb 01 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.9.5-1
+- Update to version 0.9.5
+- Fixed the dependencies for the new version.
+
+* Mon Dec 05 2011 Bohuslav Kabrda <bkabrda@redhat.com> - 0.7.12-1
+- Update to version 0.7.12.
+
+* Mon Nov 28 2011 Bohuslav Kabrda <bkabrda@redhat.com> - 0.7.8-1
+- Update to version 0.7.8.
+- Replaced defines with more appropriate globals.
+- Added Build dependency on rubygem-eventmachine.
+- Fixed running tests for the new version.
+
+* Wed Oct 12 2011 bkabrda <bkabrda@redhat.com> - 0.7.6-1
+- Update to version 0.7.6
+- Introduced doc subpackage
+- Introduced check section
+
+* Tue Jul 05 2011 Chris Lalancette <clalance@redhat.com> - 0.6.3-1
+- Initial package
diff --git a/rubygem-extlib/extlib-0.9.16.gem b/rubygem-extlib/extlib-0.9.16.gem
new file mode 120000
index 000000000..3333c2565
--- /dev/null
+++ b/rubygem-extlib/extlib-0.9.16.gem
@@ -0,0 +1 @@
+../.git/annex/objects/M0/42/SHA256E-s65024--308bb9f4813831baf2746df7e20b1f9500d3749531abc0dc1e3fa1b0de1e7cb1.16.gem/SHA256E-s65024--308bb9f4813831baf2746df7e20b1f9500d3749531abc0dc1e3fa1b0de1e7cb1.16.gem
\ No newline at end of file
diff --git a/rubygem-extlib/rubygem-extlib.spec b/rubygem-extlib/rubygem-extlib.spec
new file mode 100644
index 000000000..c973c55f9
--- /dev/null
+++ b/rubygem-extlib/rubygem-extlib.spec
@@ -0,0 +1,84 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name extlib
+%global rubyabi 1.9.1
+
+Summary: Support library for Merb
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.9.16
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/datamapper/extlib
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Support library for DataMapper and Merb.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/.autotest
+%exclude %{gem_instdir}/.document
+%exclude %{gem_instdir}/*.gemspec
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/tasks
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/VERSION
+%doc %{gem_instdir}/README.rdoc
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 0.9.16-1
+- new package built with tito
+
diff --git a/rubygem-faraday/faraday-0.8.8.gem b/rubygem-faraday/faraday-0.8.8.gem
new file mode 120000
index 000000000..f1a71f8b3
--- /dev/null
+++ b/rubygem-faraday/faraday-0.8.8.gem
@@ -0,0 +1 @@
+../.git/annex/objects/7P/g9/SHA256E-s43008--24322e1618c706d114190241fbdd6433c2e3aa2a8a06403737dbe6ab6491deb2.8.gem/SHA256E-s43008--24322e1618c706d114190241fbdd6433c2e3aa2a8a06403737dbe6ab6491deb2.8.gem
\ No newline at end of file
diff --git a/rubygem-faraday/rubygem-faraday.spec b/rubygem-faraday/rubygem-faraday.spec
new file mode 100644
index 000000000..136d5f3c5
--- /dev/null
+++ b/rubygem-faraday/rubygem-faraday.spec
@@ -0,0 +1,85 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name faraday
+%global rubyabi 1.9.1
+
+Summary: HTTP/REST API client library
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.8.8
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/lostisland/faraday
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(multipart-post) >= 1.2.0
+Requires: %{?scl_prefix}rubygem(multipart-post) < 1.3.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Faraday is an HTTP client lib that provides a common interface over many
+adapters (such as Net::HTTP) and embraces the concept of Rack middleware when
+processing the request/response cycle.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_instdir}/script
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE.md
+
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/test
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE.md
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 0.8.8-1
+- new package built with tito
+
diff --git a/rubygem-flot-rails/flot-rails-0.0.3.gem b/rubygem-flot-rails/flot-rails-0.0.3.gem
new file mode 120000
index 000000000..511dad846
--- /dev/null
+++ b/rubygem-flot-rails/flot-rails-0.0.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/qJ/JG/SHA256E-s113152--e4a2e5dc040fcc97da66cce6e069380dfd0ba4a3e263ae2cbc3100df05d4300e.3.gem/SHA256E-s113152--e4a2e5dc040fcc97da66cce6e069380dfd0ba4a3e263ae2cbc3100df05d4300e.3.gem
\ No newline at end of file
diff --git a/rubygem-flot-rails/rubygem-flot-rails.spec b/rubygem-flot-rails/rubygem-flot-rails.spec
new file mode 100644
index 000000000..639ba0c2a
--- /dev/null
+++ b/rubygem-flot-rails/rubygem-flot-rails.spec
@@ -0,0 +1,93 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name flot-rails
+%global rubyabi 1.9.1
+
+Summary: jQuery-flot javascript for Rails apps
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.0.3
+Release: 3%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://rubygems.org/gems/flot-rails
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(railties) => 3.1
+Requires: %{?scl_prefix}rubygem(railties) < 4
+Requires: %{?scl_prefix}rubygem(jquery-rails)
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Provides easy installation and usage of jQuery-flot javascript
+library for your Rails 3.1+ application.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%{gem_instdir}/vendor
+%exclude %{gem_instdir}/.gitignore
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/README.md
+%{gem_instdir}/Rakefile
+%{gem_instdir}/Gemfile
+%{gem_instdir}/%{gem_name}.gemspec
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.0.3-3
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Thu May 02 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.3-2
+- new package built with tito
+
+* Thu May 02 2013 Ivan Necas <inecas@redhat.com> 0.0.3-1
+- new package built with tito
+
+* Thu Apr 11 2013 Ivan Necas <inecas@redhat.com> 0.0.2-1
+- new package built with tito
+
diff --git a/rubygem-fog-brightbox/fog-brightbox-0.0.1.gem b/rubygem-fog-brightbox/fog-brightbox-0.0.1.gem
new file mode 120000
index 000000000..5108853dd
--- /dev/null
+++ b/rubygem-fog-brightbox/fog-brightbox-0.0.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/7j/84/SHA256E-s27648--7362f7497c45e7aa9621a23d4486211c90126afd86d0a5603270d88894bb2b48.1.gem/SHA256E-s27648--7362f7497c45e7aa9621a23d4486211c90126afd86d0a5603270d88894bb2b48.1.gem
\ No newline at end of file
diff --git a/rubygem-fog-brightbox/rubygem-fog-brightbox.spec b/rubygem-fog-brightbox/rubygem-fog-brightbox.spec
new file mode 100644
index 000000000..001d20f33
--- /dev/null
+++ b/rubygem-fog-brightbox/rubygem-fog-brightbox.spec
@@ -0,0 +1,73 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name fog-brightbox
+
+Summary: Module for the 'fog' gem to support Brightbox Cloud
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 0.0.1
+Release: 1%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/fog/fog
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-fog-core
+Requires: %{?scl_prefix}rubygem-fog-json
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+This library can be used as a module for `fog` or as standalone provider
+to use the Brightbox Cloud in applications.
+
+# Disabled as docs were added post-0.0.1
+#%package doc
+#BuildArch:  noarch
+#Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+#Summary:    Documentation for rubygem-%{gem_name}
+#
+#%description doc
+#This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0} --no-rdoc --no-ri 
+%{?scl:"}
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%{gem_spec}
+#%{gem_instdir}/LICENSE.txt
+%exclude %{gem_instdir}/.*
+
+#%files doc
+#%{gem_instdir}/LICENSE.txt
+#%{gem_instdir}/README.md
+#%{gem_instdir}/test
+#%{gem_instdir}/Gemfile*
+#%{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/fog-brightbox.gemspec
+
+%changelog
+* Tue Mar 25 2014 Dominic Cleal <dcleal@redhat.com> 0.0.1-1
+- new package built with tito
+
diff --git a/rubygem-fog-core/fog-core-1.21.1.gem b/rubygem-fog-core/fog-core-1.21.1.gem
new file mode 120000
index 000000000..8358f7ef5
--- /dev/null
+++ b/rubygem-fog-core/fog-core-1.21.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/zX/F9/SHA256E-s26112--64e023ca8de23a0317ff3608c65068bbf722691c07a26c00752b9e51168d9df1.1.gem/SHA256E-s26112--64e023ca8de23a0317ff3608c65068bbf722691c07a26c00752b9e51168d9df1.1.gem
\ No newline at end of file
diff --git a/rubygem-fog-core/rubygem-fog-core.spec b/rubygem-fog-core/rubygem-fog-core.spec
new file mode 100644
index 000000000..f2cbb4f57
--- /dev/null
+++ b/rubygem-fog-core/rubygem-fog-core.spec
@@ -0,0 +1,87 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name fog-core
+
+Summary: Shared classes and tests for fog providers and services
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 1.21.1
+Release: 2%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/fog/fog-core
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-builder
+Requires: %{?scl_prefix}rubygem-excon >= 0.32.0
+Requires: %{?scl_prefix}rubygem-excon < 0.33.0
+Requires: %{?scl_prefix}rubygem-formatador => 0.2.0
+Requires: %{?scl_prefix}rubygem-formatador < 0.3
+Requires: %{?scl_prefix}rubygem-mime-types
+Requires: %{?scl_prefix}rubygem-net-scp => 1.1.0
+Requires: %{?scl_prefix}rubygem-net-scp < 2
+Requires: %{?scl_prefix}rubygem-net-ssh >= 2.1.3
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+Shared classes and tests for fog providers and services.
+
+The Ruby cloud services library. Supports all major cloud providers including
+AWS, Rackspace, Linode, Blue Box, StormOnDemand, and many others. Full support
+for most AWS services including EC2, S3, CloudWatch, SimpleDB, ELB, and RDS.
+
+# Disabled until https://github.com/fog/fog-core/pull/26 is fixed and there is
+# documentation available to package.
+#%package doc
+#BuildArch:  noarch
+#Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+#Summary:    Documentation for rubygem-%{gem_name}
+#
+#%description doc
+#This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0} --no-rdoc --no-ri 
+%{?scl:"}
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%{gem_spec}
+#%{gem_instdir}/LICENSE.md
+%exclude %{gem_instdir}/.*
+
+#%files doc
+#%{gem_instdir}/LICENSE.md
+#%{gem_instdir}/README.md
+#%{gem_instdir}/tests
+#%{gem_instdir}/Gemfile*
+#%{gem_instdir}/Rakefile
+#%exclude %{gem_instdir}/fog-core.gemspec
+
+%changelog
+* Tue Mar 25 2014 Dominic Cleal <dcleal@redhat.com> 1.21.1-2
+- Fix Provides for correct gem name (dcleal@redhat.com)
+
+* Wed Mar 19 2014 Dominic Cleal <dcleal@redhat.com> 1.21.1-1
+- new package built with tito
+
diff --git a/rubygem-fog-json/fog-json-1.0.0.gem b/rubygem-fog-json/fog-json-1.0.0.gem
new file mode 120000
index 000000000..97845e095
--- /dev/null
+++ b/rubygem-fog-json/fog-json-1.0.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/zM/xZ/SHA256E-s7680--dcd321b42f551a9ed3a2a5d43bdfe703b7588dcac5a9e504577501ba50d52794.0.gem/SHA256E-s7680--dcd321b42f551a9ed3a2a5d43bdfe703b7588dcac5a9e504577501ba50d52794.0.gem
\ No newline at end of file
diff --git a/rubygem-fog-json/rubygem-fog-json.spec b/rubygem-fog-json/rubygem-fog-json.spec
new file mode 100644
index 000000000..62cef0ad0
--- /dev/null
+++ b/rubygem-fog-json/rubygem-fog-json.spec
@@ -0,0 +1,75 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name fog-json
+
+Summary: JSON parsing for fog providers
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 1.0.0
+Release: 2%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/fog/fog-json
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-multi_json => 1.0
+Requires: %{?scl_prefix}rubygem-multi_json < 2
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+Extraction of the JSON parsing tools shared between a number of providers in
+the 'fog' gem.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0} --no-rdoc --no-ri 
+%{?scl:"}
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%{gem_spec}
+%{gem_instdir}/LICENSE.txt
+%exclude %{gem_instdir}/.*
+
+%files doc
+%{gem_instdir}/LICENSE.txt
+%{gem_instdir}/README.md
+%{gem_instdir}/test
+%{gem_instdir}/Gemfile*
+%{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/fog-json.gemspec
+
+%changelog
+* Tue Mar 25 2014 Dominic Cleal <dcleal@redhat.com> 1.0.0-2
+- Fix Provides for correct gem name (dcleal@redhat.com)
+
+* Wed Mar 19 2014 Dominic Cleal <dcleal@redhat.com> 1.0.0-1
+- new package built with tito
+
diff --git a/rubygem-fog/fog-1.21.0.gem b/rubygem-fog/fog-1.21.0.gem
new file mode 120000
index 000000000..8035a4aae
--- /dev/null
+++ b/rubygem-fog/fog-1.21.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/16/F7/SHA256E-s1580032--ee28b0bae7004a98e139f65d8fe606d666534f4b5f96cef247bdd0374ec10b92.0.gem/SHA256E-s1580032--ee28b0bae7004a98e139f65d8fe606d666534f4b5f96cef247bdd0374ec10b92.0.gem
\ No newline at end of file
diff --git a/rubygem-fog/rubygem-fog.spec b/rubygem-fog/rubygem-fog.spec
new file mode 100644
index 000000000..a2ce322be
--- /dev/null
+++ b/rubygem-fog/rubygem-fog.spec
@@ -0,0 +1,173 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name fog
+
+Summary: brings clouds to you
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 1.21.0
+Release: 2%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/fog/fog
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-fog-brightbox
+Requires: %{?scl_prefix}rubygem-fog-core >= 1.21.1
+Requires: %{?scl_prefix}rubygem-fog-core < 2.0.0
+Requires: %{?scl_prefix}rubygem-fog-json
+Requires: %{?scl_prefix}rubygem-nokogiri => 1.5.11
+Requires: %{?scl_prefix}rubygem-nokogiri < 2.0.0
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(fog) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+The Ruby cloud services library. Supports all major cloud providers including
+AWS, Rackspace, Linode, Blue Box, StormOnDemand, and many others. Full support
+for most AWS services including EC2, S3, CloudWatch, SimpleDB, ELB, and RDS.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0} --no-rdoc --no-ri 
+%{?scl:"}
+mkdir -p %{buildroot}/%{_bindir}
+mv %{gembuilddir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{gembuilddir}/bin
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
+rm -f %{buildroot}%{gem_instdir}/{.document,.gitignore,.irbrc,.travis.yml}
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/bin
+%{gem_instdir}/lib
+%{gem_instdir}/benchs
+%exclude %{gem_cache}
+%{gem_spec}
+%{_bindir}/fog
+%{gem_instdir}/LICENSE.md
+%exclude %{gem_instdir}/providers
+
+%files doc
+%{gem_instdir}/CONTRIBUTING.md
+%{gem_instdir}/CONTRIBUTORS.md
+%{gem_instdir}/LICENSE.md
+%{gem_instdir}/README.md
+%{gem_instdir}/RELEASE.md
+%{gem_instdir}/test
+%{gem_instdir}/tests
+%{gem_instdir}/Gemfile*
+%{gem_instdir}/Rakefile
+%doc %{gem_instdir}/changelog.txt
+%{gem_instdir}/fog.gemspec
+
+%changelog
+* Tue Mar 25 2014 Dominic Cleal <dcleal@redhat.com> 1.21.0-2
+- Add dependency on fog-brightbox (dcleal@redhat.com)
+
+* Wed Mar 19 2014 Dominic Cleal <dcleal@redhat.com> 1.21.0-1
+- Rebase to fog 1.21.0 (dcleal@redhat.com)
+
+* Tue Mar 11 2014 Dominic Cleal <dcleal@redhat.com> 1.20.0-1
+- Rebase to fog 1.20.0 (dcleal@redhat.com)
+
+* Tue Jan 07 2014 Dominic Cleal <dcleal@redhat.com> 1.19.0-1
+- Rebase to fog 1.19.0 (dcleal@redhat.com)
+
+* Wed Nov 06 2013 Dominic Cleal <dcleal@redhat.com> 1.18.0-1
+- Rebase to fog 1.18.0 (dcleal@redhat.com)
+
+* Fri Aug 16 2013 Sam Kottler <shk@redhat.com> 1.15.0-2
+- Bump fog version to 1.15.0 (shk@redhat.com)
+
+* Mon Jul 22 2013 Dominic Cleal <dcleal@redhat.com> 1.14.0-1
+- Rebase to fog 1.14.0 (dcleal@redhat.com)
+- Fix excon dependency version (dcleal@redhat.com)
+
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 1.12.1-2
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Tue Jun 11 2013 Dominic Cleal <dcleal@redhat.com> 1.12.1-1
+- Rebase to fog 1.12.1 (dcleal@redhat.com)
+
+* Sun May 26 2013 Dominic Cleal <dcleal@redhat.com> 1.11.1-3
+- Fix patch path for non-SCL installs (dcleal@redhat.com)
+
+* Sun May 26 2013 Dominic Cleal <dcleal@redhat.com> 1.11.1-2
+- Patch gemspec to enable multi_json as an optional json replacement
+  (dcleal@redhat.com)
+
+* Sun May 26 2013 Dominic Cleal <dcleal@redhat.com> 1.11.1-1
+- Update to fog 1.11.1 (dcleal@redhat.com)
+
+* Fri May 03 2013 Ivan Necas <inecas@redhat.com> 1.10.1-9
+- update dep specs (inecas@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Apr 26 2013 Sam Kottler <shk@redhat.com> 1.10.1-8
+- Added RELEASE.md to spec (shk@redhat.com)
+
+* Fri Apr 26 2013 Sam Kottler <shk@redhat.com> 1.10.1-7
+- Moved readme to %%files (shk@redhat.com)
+
+* Fri Apr 26 2013 Sam Kottler <shk@redhat.com> 1.10.1-6
+- Fixed README (shk@redhat.com)
+
+* Fri Apr 26 2013 Sam Kottler <shk@redhat.com> 1.10.1-5
+- Updated the spec to no longer include docs/ for rubygem-fog (shk@redhat.com)
+
+* Fri Apr 26 2013 Sam Kottler <shk@redhat.com> 1.10.1-4
+- Added fog 1.10.1 binary (shk@redhat.com)
+
+* Fri Apr 26 2013 Sam Kottler <shk@redhat.com> 1.10.1-3
+- Automatic commit of package [rubygem-fog] minor release [1.10.1-2].
+  (shk@redhat.com)
+
+* Wed Mar 27 2013 Miroslav Suchý <msuchy@redhat.com> 1.8.0-3
+- put correct license in spec (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 1.8.0-2
+- rebase to fog-1.8.0 (msuchy@redhat.com)
+
+* Fri Dec 07 2012 Ivan Necas <inecas@redhat.com> 1.8.0-1
+- Update to version 1.8 (inecas@redhat.com)
+
+* Thu Nov 08 2012 Miroslav Suchý <msuchy@redhat.com> 1.4.0-4
+- rebuild with rubygems 1.8
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 1.4.0-3
+- polish the spec (msuchy@redhat.com)
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 1.4.0-2
+- remove version requirements on rubygem (msuchy@redhat.com)
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com>
+- remove version requirements on rubygem (msuchy@redhat.com)
+
+* Thu Sep 06 2012 Miroslav Suchý <msuchy@redhat.com> 1.4.0-1
+- new package built with tito
+
diff --git a/rubygem-foreigner/foreigner-1.4.2.gem b/rubygem-foreigner/foreigner-1.4.2.gem
new file mode 120000
index 000000000..d90ff7925
--- /dev/null
+++ b/rubygem-foreigner/foreigner-1.4.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/fJ/Vw/SHA256E-s12800--e49960fcbacc01cdee64a3f294254426fde040fecede63c51ace1101f5fb987c.2.gem/SHA256E-s12800--e49960fcbacc01cdee64a3f294254426fde040fecede63c51ace1101f5fb987c.2.gem
\ No newline at end of file
diff --git a/rubygem-foreigner/rubygem-foreigner.spec b/rubygem-foreigner/rubygem-foreigner.spec
new file mode 100644
index 000000000..f3d64abba
--- /dev/null
+++ b/rubygem-foreigner/rubygem-foreigner.spec
@@ -0,0 +1,175 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from foreigner-0.9.2.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name foreigner
+%global rubyabi  1.9.1
+
+Summary:       Foreign Keys for Rails
+Name:          %{?scl_prefix}rubygem-%{gem_name}
+Version:       1.4.2
+Release:       1%{?dist}
+License:       MIT
+
+URL:           http://github.com/matthuhiggins/foreigner
+Source0:       http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+Provides:      %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+BuildArch:     noarch
+
+%if 0%{?fedora} >= 19
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}ruby
+%endif
+
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+
+%if 0%{?fedora} >= 19
+Requires:      %{?scl_prefix}ruby(release)
+%else
+Requires:      %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires:      %{?scl_prefix}ruby
+%endif
+Requires:      %{?scl_prefix}rubygems
+Requires:      %{?scl_prefix}rubygem(activerecord) >= 3.0.0
+
+
+%description
+Adds helpers to migrations and correctly dumps foreign keys to schema.rb.
+
+
+%package doc
+Summary:   Documentation for %{pkg_name}
+Requires:  %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+
+%description doc
+%{summary}.
+
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+%setup -q -D -T -n %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+
+%build
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_instdir}/Rakefile
+%{gem_instdir}/test
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/MIT-LICENSE
+
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/README.rdoc
+
+%changelog
+* Tue Sep 10 2013 Dominic Cleal <dcleal@redhat.com> 1.4.2-1
+- Rebased on foreigner 1.4.2 (dcleal@redhat.com)
+
+* Fri Apr 19 2013 Miroslav Suchý <msuchy@redhat.com> 1.4.1-4
+- wrap up "gem spec" in scl macro (msuchy@redhat.com)
+
+* Thu Apr 18 2013 Miroslav Suchý <msuchy@redhat.com> 1.4.1-3
+- add BR rubygems (msuchy@redhat.com)
+
+* Thu Apr 18 2013 Miroslav Suchý <msuchy@redhat.com> 1.4.1-2
+- new package built with tito
+
+* Mon Apr  8 2013 Darryl L. Pierce <dpierce@redhat.com> - 1.4.1-1
+- Rebased on foreigner 1.4.1.
+
+* Wed Mar 13 2013 Darryl L. Pierce <dpierce@redhat.com> - 1.4.0-2
+- Updated the specfile to meet current Ruby packaging guidelines.
+
+* Tue Feb 26 2013 Darryl L. Pierce <dpierce@redhat.com> - 1.4.0-1
+- Rebased on Foreigner 1.4.0.
+
+* Wed Jan 16 2013 Darryl L. Pierce <dpierce@redhat.com> - 1.3.0-1
+- Rebased on foreigner 1.3.0.
+
+* Mon Jan  7 2013 Darryl L. Pierce <dpierce@redhat.com> - 1.2.1-1.1
+- Package now installs recreated gemfile.
+
+* Thu Dec 20 2012 Darryl L. Pierce <dpierce@redhat.com> - 1.2.1-1
+- Rebased on foreigner 1.2.1.
+- Updated the specfile to reflect current Ruby packaging guidelines.
+
+* Wed Jul 18 2012 Darryl L. Pierce <dpierce@redhat.com> - 1.2.0-1
+- Rebased on foreigner release 1.2.0.
+- Removed the tests since they were not invoked.
+
+* Thu Apr 05 2012 Darryl L. Pierce <dpierce@redhat.com> - 1.1.6-1
+- Release 1.1.6 of Foreigner.
+- Added BuildRequires: {ruby(rubygems), ruby(abi) ruby} fields to the spec.
+
+* Thu Mar 08 2012 Darryl L. Pierce <dpierce@redhat.com> - 1.1.5-1
+- Release 1.1.5 of Foreigner.
+
+* Tue Mar 06 2012 Darryl L. Pierce <dpierce@redhat.com> - 1.1.4-1
+- Release 1.1.4 of Foreigner.
+
+* Sat Feb 18 2012 Darryl L. Pierce <dpierce@redhat.com> - 1.1.2-1
+- Release 1.1.2 of Foreigner.
+
+* Wed Feb 08 2012 Vít Ondruch <vondruch@redhat.com> - 1.1.1-4
+- Fixed broken dependencies.
+
+* Thu Feb 02 2012 Vít Ondruch <vondruch@redhat.com> - 1.1.1-3
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Aug  9 2011 Darryl L. Pierce <dpierce@redhat.com> - 1.1.1-1
+- Release 1.1.1 of Foreigner gem.
+
+* Mon Aug  1 2011 Darryl L. Pierce <dpierce@redhat.com> - 1.1.0-1
+- Release 1.1.0 of Foreigner gem.
+- Added the doc subpackage.
+- Added requirement on rubygem-activerecord >= 3.0.0
+
+* Wed Jul 20 2011 Darryl L. Pierce <dpierce@redhat.com> - 1.0.3-1
+- New release of Foreigner gem.
+- Added version requirement for rubygems.
+
+* Tue May 10 2011 Darryl L. Pierce <dpierce@redhat.com> - 0.9.2-2
+- Fixed license.
+- Added dependency on Ruby 1.8.
+- Fixed global macros.
+
+* Tue Apr 19 2011 Darryl L. Pierce <dpierce@redhat.com> - 0.9.2-1
+- Initial package
diff --git a/rubygem-foremancli/foremancli-1.0.gem b/rubygem-foremancli/foremancli-1.0.gem
new file mode 120000
index 000000000..ad65ac6b2
--- /dev/null
+++ b/rubygem-foremancli/foremancli-1.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/xQ/8x/SHA256E-s6144--967726410f6f7243de31dce7de2075d44fda9c240c3cf7b821f32b525328395a.0.gem/SHA256E-s6144--967726410f6f7243de31dce7de2075d44fda9c240c3cf7b821f32b525328395a.0.gem
\ No newline at end of file
diff --git a/rubygem-foremancli/rubygem-foremancli.spec b/rubygem-foremancli/rubygem-foremancli.spec
new file mode 100644
index 000000000..d8a13d84a
--- /dev/null
+++ b/rubygem-foremancli/rubygem-foremancli.spec
@@ -0,0 +1,89 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name foremancli
+
+Summary: This is the CLI for Foreman, which is a provisioning tool and node classifier for sysadmins.
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 1.0
+Release: 6%{dist}
+Group: Development/Ruby
+License: GPLv2+
+URL: https://github.com/ohadlevy/foreman/blob/master/extras/cli/foremancli
+Source0: %{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+
+Requires: %{?scl_prefix}rubygem-rest-client => 1.4
+Requires: %{?scl_prefix}rubygem-rest-client < 2
+
+Requires: %{?scl_prefix}rubygem-json => 1.4
+Requires: %{?scl_prefix}rubygem-json < 2
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(foremancli) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+This is the CLI for Foreman, which is a provisioning tool and node classifier
+for sysadmins.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
+%{?scl:"}
+mkdir -p %{buildroot}/%{_bindir}
+mv %{gembuilddir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{gembuilddir}/bin
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
+
+%files
+%{_bindir}/foremancli
+%dir %{gem_instdir}
+%{gem_instdir}/bin
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/%{gem_name}.gemspec
+%doc %{gem_docdir}
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 1.0-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Wed Mar 27 2013 Miroslav Suchý <msuchy@redhat.com> 1.0-4
+- put correct license in spec (msuchy@redhat.com)
+
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 1.0-3
+- new package built with tito
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 1.0-2
+- polish the spec (msuchy@redhat.com)
+
+* Thu Sep 06 2012 Miroslav Suchý <msuchy@redhat.com> 1.0-1
+- new package built with tito
+
diff --git a/rubygem-formatador/formatador-0.2.1.gem b/rubygem-formatador/formatador-0.2.1.gem
new file mode 120000
index 000000000..8f45d96bf
--- /dev/null
+++ b/rubygem-formatador/formatador-0.2.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/94/pp/SHA256E-s10240--db1e8664ac229165d43a95cb601d29a1f86ed3a252cbc144e97b6f5cf68041f3.1.gem/SHA256E-s10240--db1e8664ac229165d43a95cb601d29a1f86ed3a252cbc144e97b6f5cf68041f3.1.gem
\ No newline at end of file
diff --git a/rubygem-formatador/formatador-fix-tests-when-redirecting-to-file.patch b/rubygem-formatador/formatador-fix-tests-when-redirecting-to-file.patch
new file mode 100644
index 000000000..918fcb366
--- /dev/null
+++ b/rubygem-formatador/formatador-fix-tests-when-redirecting-to-file.patch
@@ -0,0 +1,59 @@
+diff -ru ../rubygem-formatador-0.2.1.orig/usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/basic_tests.rb ./usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/basic_tests.rb
+--- ../rubygem-formatador-0.2.1.orig/usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/basic_tests.rb	2011-10-17 08:23:00.000000000 +0200
++++ ./usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/basic_tests.rb	2011-10-20 12:57:31.810397680 +0200
+@@ -10,6 +10,7 @@
+     one
+     two
+ OUTPUT
++output = Formatador.parse(output)
+ 
+   tests("#display_lines(['one', 'two']").returns(output) do
+     capture_stdout do
+Only in ./usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests: basic_tests.rb~
+diff -ru ../rubygem-formatador-0.2.1.orig/usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/table_tests.rb ./usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/table_tests.rb
+--- ../rubygem-formatador-0.2.1.orig/usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/table_tests.rb	2011-10-17 08:23:00.000000000 +0200
++++ ./usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests/table_tests.rb	2011-10-20 12:58:33.930398612 +0200
+@@ -2,13 +2,14 @@
+ 
+ output = <<-OUTPUT
+     +---+
+-    | \e[1ma\e[0m |
++    | [bold]a[/] |
+     +---+
+     | 1 |
+     +---+
+     | 2 |
+     +---+
+ OUTPUT
++output = Formatador.parse(output)
+ 
+   tests("#display_table([{:a => 1}, {:a => 2}])").returns(output) do
+     capture_stdout do
+@@ -18,10 +19,11 @@
+ 
+ output = <<-OUTPUT
+     +--------+
+-    | \e[1mheader\e[0m |
++    | [bold]header[/] |
+     +--------+
+     +--------+
+ OUTPUT
++output = Formatador.parse(output)
+ 
+   tests("#display_table([], [:header])").returns(output) do
+     capture_stdout do
+@@ -31,11 +33,12 @@
+ 
+ output = <<-OUTPUT
+     +--------+
+-    | \e[1mheader\e[0m |
++    | [bold]header[/] |
+     +--------+
+     |        |
+     +--------+
+ OUTPUT
++output = Formatador.parse(output)
+ 
+   tests("#display_table([{:a => 1}], [:header])").returns(output) do
+     capture_stdout do
+Only in ./usr/lib/ruby/gems/1.8/gems/formatador-0.2.1/tests: table_tests.rb~
diff --git a/rubygem-formatador/rubygem-formatador.spec b/rubygem-formatador/rubygem-formatador.spec
new file mode 100644
index 000000000..c575b0cc0
--- /dev/null
+++ b/rubygem-formatador/rubygem-formatador.spec
@@ -0,0 +1,109 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name formatador
+
+%global bootstrap 1
+
+Summary: Ruby STDOUT text formatting
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.2.1
+Release: 7%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/geemus/%{gem_name}
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# TODO: Fix tests failing when redirected to a file, reported at
+# https://github.com/geemus/formatador/commit/a874311f52a34b9a1f1d0fe9fef20a095b79f941
+Patch0: formatador-fix-tests-when-redirecting-to-file.patch
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygems-devel
+%if 0%{bootstrap} < 1
+BuildRequires: %{?scl_prefix}rubygem(shindo)
+%endif
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+STDOUT text formatting
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force --rdoc %{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+%patch0 -p8
+popd
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+%check
+%if 0%{bootstrap} < 1
+pushd .%{gem_instdir}
+# fix "uninitialized constant StringIO" until its in the gem, as reported in https://github.com/geemus/formatador/issues/5
+sed -i "1i\require 'stringio'" tests/tests_helper.rb
+shindo
+popd
+%endif
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/README.rdoc
+%{gem_libdir}
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/Gemfile
+%{gem_instdir}/Rakefile
+%{gem_instdir}/tests
+%{gem_instdir}/formatador.gemspec
+
+%changelog
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.1-6
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Thu Jan 19 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.2.1-4
+- Set %%bootstrap to 0 to allow tests.
+
+* Wed Jan 18 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.2.1-3
+- Rebuilt for Ruby 1.9.3.
+- Added %%bootstrap macro for tests.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Oct 12 2011 Bohuslav Kabrda <bkabrda@redhat.com> - 0.2.1-1
+- Update to 0.2.1
+- Added check section
+- Introduced doc subpackage
+- Added tests patch for the case when output is redirected to a file (would fail in mock and koji)
+
+* Thu Jul 21 2011 Chris Lalancette <clalance@redhat.com> - 0.1.4-2
+- Remove bogus shindo and rake dependencies
+
+* Tue Jul 05 2011 Chris Lalancette <clalance@redhat.com> - 0.1.4-1
+- Initial package
diff --git a/rubygem-gettext/gettext-2.3.7.gem b/rubygem-gettext/gettext-2.3.7.gem
new file mode 120000
index 000000000..9213d9c2b
--- /dev/null
+++ b/rubygem-gettext/gettext-2.3.7.gem
@@ -0,0 +1 @@
+../.git/annex/objects/76/77/SHA256E-s209408--782d98b168ad82878261a8a2f0dd03851720a2568284c094002769609ef4c643.7.gem/SHA256E-s209408--782d98b168ad82878261a8a2f0dd03851720a2568284c094002769609ef4c643.7.gem
\ No newline at end of file
diff --git a/rubygem-gettext/rubygem-gettext-2.3.6-old-test-unit.patch b/rubygem-gettext/rubygem-gettext-2.3.6-old-test-unit.patch
new file mode 100644
index 000000000..4e0e0338d
--- /dev/null
+++ b/rubygem-gettext/rubygem-gettext-2.3.6-old-test-unit.patch
@@ -0,0 +1,16 @@
+--- test/run-test.rb.fedora	1970-01-01 09:00:00.000000000 +0900
++++ test/run-test.rb	2013-01-02 18:04:15.000000000 +0900
+@@ -28,7 +28,12 @@
+ $LOAD_PATH.unshift(lib_dir)
+ $LOAD_PATH.unshift(test_dir)
+ 
+-require "test-unit"
++gem "test-unit"
++begin
++  require "test-unit"
++rescue LoadError
++  require "test/unit"
++end
+ require "test/unit/notify"
+ require "test/unit/rr"
+ 
diff --git a/rubygem-gettext/rubygem-gettext.spec b/rubygem-gettext/rubygem-gettext.spec
new file mode 100644
index 000000000..04a847172
--- /dev/null
+++ b/rubygem-gettext/rubygem-gettext.spec
@@ -0,0 +1,374 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global		rubyabi		1.9.1
+%global		ruby19          1
+
+%global		gem_name	gettext
+
+%global		locale_ver		2.0.5
+%global		repoid			67096
+
+Name:		%{?scl_prefix}rubygem-%{gem_name}
+Version:	2.3.7
+Release:	4%{?dist}
+Summary:	RubyGem of Localization Library and Tools for Ruby
+Group:		Development/Languages
+
+License:	Ruby
+URL:		http://www.yotabanana.com/hiki/ruby-gettext.html?ruby-gettext
+Source0:	http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+#Source0:	http://rubyforge.org/frs/download.php/%{repoid}/%{gem_name}-%{version}.gem
+# For test-unit 2.4.5 (latest test-unit is 2.5.3:
+# please remove Patch0 after updating test-unit)
+Patch0:	rubygem-gettext-2.3.6-old-test-unit.patch
+
+BuildRequires:	%{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires:	%{?scl_prefix}rubygems-devel
+BuildRequires:	%{?scl_prefix}rubygem(locale) >= %{locale_ver}
+# Disable tests
+## For %%check
+#BuildRequires:	%{?scl_prefix}rubygem(test-unit)
+#BuildRequires:	%{?scl_prefix}rubygem(test-unit-notify)
+#BuildRequires:	%{?scl_prefix}rubygem(test-unit-rr)
+#BuildRequires:	%{?scl_prefix}rubygem(levenshtein)
+BuildRequires:	gettext
+
+Requires:	%{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires:	%{?scl_prefix}ruby(rubygems)
+Requires:	%{?scl_prefix}rubygem(locale) >= %{locale_ver}
+Requires:	%{?scl_prefix}rubygem(levenshtein)
+Requires:	%{?scl_prefix}irb
+Provides:	%{?scl_prefix}rubygem(%{gem_name}) = %{version}-%{release}
+
+Obsoletes:	%{?scl_prefix}ruby-gettext-package <= %{version}-%{release}
+Provides:	%{?scl_prefix}ruby-gettext-package = %{version}-%{release}
+
+BuildArch:	noarch
+
+%description
+Ruby-GetText-Package is a GNU GetText-like program for Ruby. 
+The catalog file(po-file) is same format with GNU GetText. 
+So you can use GNU GetText tools for maintaining.
+
+This package provides gem for Ruby-Gettext-Package.
+
+%package	doc
+Summary:	Documentation for %{pkg_name}
+Group:		Documentation
+Requires:	%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description	doc
+This package contains documentation for %{pkg_name}.
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+TOPDIR=$(pwd)
+mkdir tmpunpackdir
+pushd tmpunpackdir
+
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+cd %{gem_name}-%{version}
+
+#Patches, etc
+%patch0 -p0
+
+%{?scl:scl enable %{scl} "}
+gem specification -l --ruby %{SOURCE0}
+%{?scl:"} > %{gem_name}.gemspec
+
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+mv %{gem_name}-%{version}.gem $TOPDIR
+
+popd
+rm -rf tmpunpackdir
+
+%build
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install \
+	--local \
+	--install-dir .%{gem_dir} \
+	--force \
+	--rdoc \
+	-V \
+	%{gem_name}-%{version}.gem
+%{?scl:"}
+
+#%%{__rm} -f .%{gem_instdir}/Rakefile
+%{__rm} -f .%{gem_instdir}/%{gem_name}.gemspec
+%{__rm} -f .%{gem_instdir}/replace.rb
+%{__rm} -rf .%{gem_instdir}/po/
+%{__rm} -rf .%{gem_dir}/bin/
+%{__chmod} 0755 .%{gem_instdir}/bin/*
+%{__chmod} 0644 .%{gem_dir}/cache/*.gem
+find .%{gem_instdir}/ -name \*.po | xargs %{__chmod} 0644
+
+# Cleanups for rpmlint
+find .%{gem_instdir}/lib/ -name \*.rb | while read f
+do
+	%{__sed} -i -e '/^#!/d' $f
+done
+
+# fix timestamps
+find . -type f -print0 | xargs -0 touch -r %{SOURCE0}
+
+%install
+%{__mkdir_p} %{buildroot}%{gem_dir}
+
+%{__cp} -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+find %{buildroot}%{gem_dir} -name \*.rb.patch\* -delete
+
+# Create symlinks
+##
+## Note that before switching to gem %%{ruby_sitelib}/%%{gem_name}
+## already existed as a directory, so this cannot be replaced
+## by symlink (cpio fails)
+## Similarly, all directories under %%{ruby_sitelib} cannot be
+## replaced by symlink
+#
+
+create_symlink_rec(){
+
+ORIGBASEDIR=$1
+TARGETBASEDIR=$2
+
+## First calculate relative path of ORIGBASEDIR 
+## from TARGETBASEDIR
+TMPDIR=$TARGETBASEDIR
+BACKDIR=
+DOWNDIR=
+num=0
+nnum=0
+while true
+do
+	num=$((num+1))
+	TMPDIR=$(echo $TMPDIR | %{__sed} -e 's|/[^/][^/]*$||')
+	DOWNDIR=$(echo $ORIGBASEDIR | %{__sed} -e "s|^$TMPDIR||")
+	if [ x$DOWNDIR != x$ORIGBASEDIR ]
+	then
+		nnum=0
+		while [ $nnum -lt $num ]
+		do
+			BACKDIR="../$BACKDIR"
+			nnum=$((nnum+1))
+		done
+		break
+	fi
+done
+
+RELBASEDIR=$( echo $BACKDIR/$DOWNDIR | %{__sed} -e 's|//*|/|g' )
+
+## Next actually create symlink
+pushd %{buildroot}/$ORIGBASEDIR
+find . -type f | while read f
+do
+	DIRNAME=$(dirname $f)
+	BACK2DIR=$(echo $DIRNAME | %{__sed} -e 's|/[^/][^/]*|/..|g')
+	%{__mkdir_p} %{buildroot}${TARGETBASEDIR}/$DIRNAME
+	LNNAME=$(echo $BACK2DIR/$RELBASEDIR/$f | \
+		%{__sed} -e 's|^\./||' | %{__sed} -e 's|//|/|g' | \
+		%{__sed} -e 's|/\./|/|' )
+	%{__ln_s} -f $LNNAME %{buildroot}${TARGETBASEDIR}/$f
+done
+popd
+
+}
+
+create_symlink_rec %{gem_instdir}/bin %{_bindir}
+
+#%if 0%{?ruby19} < 1
+#create_symlink_rec %{gem_instdir}/data/locale %{_datadir}/locale
+#%endif
+
+# For --short-circult
+%{__rm} -f *.lang
+
+# modify find-lang.sh to deal with gettext .mo files under
+# %%{gem_instdir}/locale (required on EL6)
+sed -e 's|/share/locale/|/locale/|' \
+	/usr/lib/rpm/find-lang.sh \
+	> find-lang-modified.sh
+
+sh find-lang-modified.sh %{buildroot} gettext gettext-gem.lang
+#%find_lang gettext
+#mv gettext.lang gettext-gem.lang
+
+%{__cat} *-gem.lang >> %{pkg_name}-gem.lang
+
+# list directories under %%{gem_instdir}/locale/
+find %{buildroot}%{gem_instdir}/locale -type d | while read dir
+do
+	echo "%%dir ${dir#%{buildroot}}" >> %{pkg_name}-gem.lang
+done
+
+# clean up
+rm -f %{buildroot}%{gem_instdir}/.yardopts
+
+# Disable tests as it adds test-unit requirement into builds, and currently
+# this isn't actively used.
+#%check
+#pushd .%{gem_instdir}
+#export LANG=ja_JP.UTF-8
+#%{?scl:scl enable %{scl} "}
+#ruby -Ilib:test test/run-test.rb
+#%{?scl:"}
+#popd
+
+
+%files	-f %{pkg_name}-gem.lang
+%defattr(-,root,root,-)
+%{_bindir}/rxgettext
+%{_bindir}/rmsginit
+%{_bindir}/rmsgfmt
+%{_bindir}/rmsgmerge
+
+%dir %{gem_instdir}/
+%doc %{gem_instdir}/[A-Z]*
+%doc %{gem_instdir}/doc/
+%exclude %{gem_instdir}/Rakefile
+%{gem_instdir}/bin/
+%{gem_instdir}/lib/
+
+%exclude	%{gem_cache}
+%{gem_spec}
+
+%files		doc
+%defattr(-,root,root,-)
+%{gem_docdir}/
+%{gem_instdir}/samples/
+%exclude	%{gem_instdir}/test/
+%exclude	%{gem_instdir}/src/
+
+%changelog
+* Sun May 19 2013 Dominic Cleal <dcleal@redhat.com> 2.3.7-4
+- Disable tests, fix find-lang.sh and _bindir on EL6, fix SCL redirection
+  (dcleal@redhat.com)
+
+* Tue Mar 12 2013 Lukas Zapletal <lzap+git@redhat.com> 2.3.7-3
+- new package built with tito
+
+* Sun Feb 10 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2/3/7-2
+- Require levenshtein for fuzzy merging
+
+* Thu Jan 24 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.3.7-1
+- 2.3.7
+
+* Wed Jan  2 2013 Mamoru TASAKA <mtasaka@fedoraproject.org>  - 2.3.6-1
+- 2.3.6
+
+* Wed Jan  2 2013 Mamoru TASAKA <mtasaka@fedoraproject.org>  - 2.2.1-3
+- Clean up old stuff
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed May 30 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.2.1-1
+- 2.2.1
+
+* Mon Apr  7 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.2.0-2
+- Fix test case
+
+* Mon Apr  7 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.2.0-1
+- 2.2.0
+
+* Tue Apr 03 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.1.0-7
+- Fix conditionals for F17 to work for RHEL 7 as well.
+
+* Sun Jan 29 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.1.0-6
+- F-17: rebuild against ruby 1.9
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sat Jun 25 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.1.0-4
+- Rescue Gem.all_load_paths when it is removed from rubygems
+
+* Mon Feb 14 2011 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.1.0-3
+- F-15 mass rebuild
+
+* Tue Jan 12 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp>
+- gems.rubyforge.org gem file seems old, changing Source0 URL for now
+
+* Wed Nov 18 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.1.0-1
+- 2.1.0
+
+* Sat Jul 25 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-2
+- F-12: Mass rebuild
+
+* Wed May 28 2009 Mamoru Tasaka <mtasaka@ios.s.u-tokyo.ac.jp> - 2.0.4-1
+- 2.0.4
+
+* Mon May 11 2009 Mamoru Tasaka <mtasaka@ios.s.u-tokyo.ac.jp> - 2.0.3-2
+- 2.0.3
+- Add "BR: gettext" (not to Requires) for rake test
+
+* Fri May  1 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.1-3
+- Mark LICENSE etc as %%doc
+
+* Wed Apr 22 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.1-2
+- Bump ruby-locale Requires version
+
+* Tue Apr 21 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.1-1
+- 2.0.1, drop patches already in upstream (all)
+
+* Sat Mar 29 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.0-1
+- Update to 2.0.0
+- Now require rubygem(locale)
+- Rescue NoMethodError on gem call on gettext.rb
+- Reintroduce 4 args bindtextdomain() compatibility
+
+* Tue Feb 24 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.93.0-8
+- %%global-ize "nested" macro 
+
+* Thu Oct 23 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.93.0-7
+- Handle gettext .mo files under %%{gem_instdir}/data/locale by
+  modifying find-lang.sh
+
+* Tue Oct  7 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.93.0-6
+- Move sed edit section for lib/ files from %%install to %%build
+  stage for cached gem file
+
+* Tue Oct  7 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.93.0-5
+- Recreate gettext .mo files (by using this itself)
+
+* Mon Oct  6 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.93.0-3
+- Some modification for spec file by Scott
+
+* Tue Sep 23 2008 Scott Seago <sseago@redhat.com> - 1.93.0-2
+- Initial package (of rubygem-gettext)
+  Set at release 2 to supercede ruby-gettext-package-1.93.0-1
+
+* Thu Sep 18 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.93.0-1
+- 1.93.0
+
+* Sat Aug  9 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.92.0-1
+- 1.92.0
+
+* Thu May 22 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.91.0-1
+- 1.91.0
+
+* Sun Feb  3 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.90.0-1
+- 1.90.0
+- Arch changed to noarch
+
+* Wed Aug 29 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.10.0-1
+- 1.10.0
+
+* Wed Aug 22 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.9.0-2.dist.2
+- Mass rebuild (buildID or binutils issue)
+
+* Fri Aug  3 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.9.0-2.dist.1
+- License update
+
+* Mon May  7 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.9.0-2
+- Create -doc subpackage
+
+* Sat Apr 21 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.9.0-1
+- Initial packaging
diff --git a/rubygem-gettext_i18n_rails/gettext-i18n-rails.spec b/rubygem-gettext_i18n_rails/gettext-i18n-rails.spec
new file mode 100644
index 000000000..86bbc12d8
--- /dev/null
+++ b/rubygem-gettext_i18n_rails/gettext-i18n-rails.spec
@@ -0,0 +1,87 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%define gem_name gettext_i18n_rails
+
+Summary: Simple FastGettext Rails integration
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.10.0 
+Release: 3%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/grosser/gettext_i18n_rails
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{?scl_prefix}rubygems
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+Requires: %{?scl_prefix}rubygem(fast_gettext) >= 0.4.8
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Simple FastGettext Rails integration.
+
+%prep
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{buildroot}%{gem_dir} \
+            --force --rdoc %{SOURCE0}
+%{?scl:"}
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-, root, root, -)
+
+%{gem_dir}/gems/%{gem_name}-%{version}/
+
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+
+
+%{gem_dir}/cache/%{gem_name}-%{version}.gem
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%changelog
+* Thu Sep 12 2013 Lukas Zapletal <lzap+git@redhat.com> 0.10.0-3
+- Revert "update rubygems to include wrapper BuildRequires and Requires"
+  (jmontleo@redhat.com)
+- update rubygems to include wrapper BuildRequires and Requires
+  (jmontleo@redhat.com)
+
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.10.0-2
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Mon Jun 10 2013 Dmitri Dolguikh <dmitri@redhat.com> 0.10.0-1
+- updated gettext_i18n_rails gem to version 0.10.0 (dmitri@redhat.com)
+
+* Tue May 14 2013 Dominic Cleal <dcleal@redhat.com> 0.9.4-1
+- remove empty tito.props and definition which are duplicate with default from
+  rel-eng/tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.13-4
+- BR rubygems-devel (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.13-3
+- new package built with tito
+
+* Fri Feb 03 2012 Mike McCune <mmccune@redhat.com> 0.2.13-2
+- moving to possibly a more appropriate specname (mmccune@redhat.com)
+
+* Mon Jan 17 2011 Shannon Hughes <shughes@redhat.com> 0.2.13-1
+- new package built with tito
+
+* Mon Jan 17 2011 Shannon Hughes <shughes@scooby.rdu.redhat.com> - 0.2.13-1
+- Initial package
diff --git a/rubygem-gettext_i18n_rails/gettext_i18n_rails-0.10.0.gem b/rubygem-gettext_i18n_rails/gettext_i18n_rails-0.10.0.gem
new file mode 120000
index 000000000..987e95fe7
--- /dev/null
+++ b/rubygem-gettext_i18n_rails/gettext_i18n_rails-0.10.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Z9/W6/SHA256E-s22528--d8f1e2ee37646e050327fe75d79d6a01a139811973ec0bbf87d67d89c0ce5b35.0.gem/SHA256E-s22528--d8f1e2ee37646e050327fe75d79d6a01a139811973ec0bbf87d67d89c0ce5b35.0.gem
\ No newline at end of file
diff --git a/rubygem-gettext_i18n_rails_js/gettext_i18n_rails_js-0.0.8.gem b/rubygem-gettext_i18n_rails_js/gettext_i18n_rails_js-0.0.8.gem
new file mode 120000
index 000000000..25e3932a8
--- /dev/null
+++ b/rubygem-gettext_i18n_rails_js/gettext_i18n_rails_js-0.0.8.gem
@@ -0,0 +1 @@
+../.git/annex/objects/8p/71/SHA256E-s18944--f067fa82681237025929daf40675b09b011f00a02ff8628607de7547412f0c8b.8.gem/SHA256E-s18944--f067fa82681237025929daf40675b09b011f00a02ff8628607de7547412f0c8b.8.gem
\ No newline at end of file
diff --git a/rubygem-gettext_i18n_rails_js/rubygem-gettext_i18n_rails_js.spec b/rubygem-gettext_i18n_rails_js/rubygem-gettext_i18n_rails_js.spec
new file mode 100644
index 000000000..52e8b7200
--- /dev/null
+++ b/rubygem-gettext_i18n_rails_js/rubygem-gettext_i18n_rails_js.spec
@@ -0,0 +1,84 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name gettext_i18n_rails_js
+%global rubyabi 1.9.1
+
+Summary: Extends gettext_i18n_rails making your .po files available to client side javascript as JSON
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.0.8
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/nubis/gettext_i18n_rails_js
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(gettext_i18n_rails) >= 0.7.1
+Requires: %{?scl_prefix}rubygem(rails) >= 3.2.0
+Requires: %{?scl_prefix}rubygem(rails) < 3.3.0
+Requires: %{?scl_prefix}rubygem(po_to_json) >= 0.0.7
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+gettext_i18n_rails will find translations inside your .js and .coffee files,
+then it will create JSON versions of your .PO files and will let you serve
+them with the rest of your assets, thus letting you access all your
+translations offline from client side javascript.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/MIT-LICENSE
+%{gem_instdir}/README.md
+%{gem_instdir}/Rakefile
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.0.8-2
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Tue May 14 2013 Dominic Cleal <dcleal@redhat.com> 0.0.8-1
+- new package built with tito
+
diff --git a/rubygem-google-api-client/google-api-client-0.6.4.gem b/rubygem-google-api-client/google-api-client-0.6.4.gem
new file mode 120000
index 000000000..77e865440
--- /dev/null
+++ b/rubygem-google-api-client/google-api-client-0.6.4.gem
@@ -0,0 +1 @@
+../.git/annex/objects/vM/W2/SHA256E-s58368--c27122b273b2cc0030b321cb0bcb51367d2be02598e1ee0f26655ac38b43302b.4.gem/SHA256E-s58368--c27122b273b2cc0030b321cb0bcb51367d2be02598e1ee0f26655ac38b43302b.4.gem
\ No newline at end of file
diff --git a/rubygem-google-api-client/rubygem-google-api-client.spec b/rubygem-google-api-client/rubygem-google-api-client.spec
new file mode 100644
index 000000000..b4c5901a1
--- /dev/null
+++ b/rubygem-google-api-client/rubygem-google-api-client.spec
@@ -0,0 +1,104 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name google-api-client
+%global rubyabi 1.9.1
+
+Summary: Google API Ruby Client makes it trivial to access supported APIs
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.6.4
+Release: 1%{?dist}
+Group: Development/Languages
+License: ASL 2.0
+URL: http://code.google.com/p/google-api-ruby-client/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(addressable) >= 2.3.2
+Requires: %{?scl_prefix}rubygem(autoparse) >= 0.3.3
+Requires: %{?scl_prefix}rubygem(extlib) >= 0.9.15
+Requires: %{?scl_prefix}rubygem(faraday) >= 0.8.4
+Requires: %{?scl_prefix}rubygem(faraday) < 0.9.0
+Requires: %{?scl_prefix}rubygem(jwt) >= 0.1.5
+Requires: %{?scl_prefix}rubygem(launchy) >= 2.1.1
+Requires: %{?scl_prefix}rubygem(multi_json) >= 1.0.0
+Requires: %{?scl_prefix}rubygem(signet) >= 0.4.5
+Requires: %{?scl_prefix}rubygem(signet) < 0.5.0
+Requires: %{?scl_prefix}rubygem(uuidtools) >= 2.1.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+The Google API Ruby Client makes it trivial to discover and access supported
+APIs.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --bindir .%{_bindir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}%{_bindir}
+cp -a .%{_bindir}/* \
+        %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+%files
+%dir %{gem_instdir}
+%{_bindir}/google-api
+%{gem_instdir}/bin
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/tasks
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/CHANGELOG.md
+%doc %{gem_instdir}/CONTRIB.md
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 0.6.4-1
+- new package built with tito
+
diff --git a/rubygem-hirb-unicode/hirb-unicode-0.0.5.gem b/rubygem-hirb-unicode/hirb-unicode-0.0.5.gem
new file mode 120000
index 000000000..96e7492a5
--- /dev/null
+++ b/rubygem-hirb-unicode/hirb-unicode-0.0.5.gem
@@ -0,0 +1 @@
+../.git/annex/objects/q8/gZ/SHA256E-s7168--5302c08c2a6edb5eabfd5caff07f18df566d77d49d89cc856f725672839af0ac.5.gem/SHA256E-s7168--5302c08c2a6edb5eabfd5caff07f18df566d77d49d89cc856f725672839af0ac.5.gem
\ No newline at end of file
diff --git a/rubygem-hirb-unicode/rubygem-hirb-unicode.spec b/rubygem-hirb-unicode/rubygem-hirb-unicode.spec
new file mode 100644
index 000000000..39121921b
--- /dev/null
+++ b/rubygem-hirb-unicode/rubygem-hirb-unicode.spec
@@ -0,0 +1,86 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name hirb-unicode
+
+Summary: Unicode support for hirb
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 0.0.5
+Release: 5%{dist}
+Group: Development/Ruby
+License: MIT
+Source0: %{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-hirb => 0.5
+Requires: %{?scl_prefix}rubygem-hirb < 1
+
+Requires: %{?scl_prefix}rubygem-unicode-display_width => 0.1.1
+Requires: %{?scl_prefix}rubygem-unicode-display_width < 0.2
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(hirb-unicode) = %{version}
+
+%global gembuilddir %{buildroot}%{gem_dir}
+
+%description
+Unicode support for hirb
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+%{__rm} -rf %{buildroot}
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
+%{?scl:"}
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
+rm -f %{buildroot}%{gem_instdir}/.gitignore
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%doc %{gem_instdir}/MIT-LICENSE
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/test
+%doc %{gem_docdir}
+%doc %{gem_instdir}/README.md
+%{gem_instdir}/Rakefile
+%{gem_instdir}/%{gem_name}.gemspec
+%{gem_instdir}/Gemfile
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.0.5-5
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.5-3
+- new package built with tito
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 0.0.5-2
+- polish the spec (msuchy@redhat.com)
+
+* Thu Sep 06 2012 Miroslav Suchý <msuchy@redhat.com> 0.0.5-1
+- new package built with tito
+
diff --git a/rubygem-hirb/hirb-0.7.0.gem b/rubygem-hirb/hirb-0.7.0.gem
new file mode 120000
index 000000000..96f314448
--- /dev/null
+++ b/rubygem-hirb/hirb-0.7.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/q2/1v/SHA256E-s45056--43f849b7d6e2e780b974fbb9e73bf09b170c910e2a16bcf4332d4f8d0c53a498.0.gem/SHA256E-s45056--43f849b7d6e2e780b974fbb9e73bf09b170c910e2a16bcf4332d4f8d0c53a498.0.gem
\ No newline at end of file
diff --git a/rubygem-hirb/rubygem-hirb.spec b/rubygem-hirb/rubygem-hirb.spec
new file mode 100644
index 000000000..dcfb4e6d9
--- /dev/null
+++ b/rubygem-hirb/rubygem-hirb.spec
@@ -0,0 +1,90 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name hirb
+
+Summary: A mini view framework for console/irb that's easy to use, even while under its influence.
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 0.7.0
+Release: 6%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://tagaholic.me/hirb/
+Source0: %{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(hirb) = %{version}
+
+%global gembuilddir %{buildroot}%{gem_dir}
+
+%description
+Hirb provides a mini view framework for console applications and uses it to
+improve ripl(irb)'s default inspect output. Given an object or array of
+objects, hirb renders a view based on the object's class and/or ancestry. Hirb
+offers reusable views in the form of helper classes. The two main helpers,
+Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options for
+generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has
+useful default views for at least ten popular database gems i.e. Rails'
+ActiveRecord::Base. Other than views, hirb offers a smart pager and a console
+menu. The smart pager only pages when the output exceeds the current screen
+size. The menu is used in conjunction with tables to offer two dimensional
+menus.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
+%{?scl:"}
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/LICENSE.txt
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/test
+%{gem_instdir}/Rakefile
+%{gem_instdir}/.gemspec
+%doc %{gem_instdir}/CHANGELOG.rdoc
+%{gem_instdir}/.travis.yml
+%{gem_docdir}
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.7.0-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 0.7.0-4
+- new package built with tito
+
+* Tue Sep 11 2012 Miroslav Suchý <msuchy@redhat.com> 0.7.0-3
+- add gem file to src.rpm (msuchy@redhat.com)
+
+* Tue Sep 11 2012 Miroslav Suchý <msuchy@redhat.com> 0.7.0-2
+- new package built with tito
+
diff --git a/rubygem-hoe/hoe-2.12.3.gem b/rubygem-hoe/hoe-2.12.3.gem
new file mode 120000
index 000000000..3f4ee6d26
--- /dev/null
+++ b/rubygem-hoe/hoe-2.12.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/kQ/QG/SHA256E-s122368--f68488c8171201a72de14b030180f15c66fc195af0eab16474a52938daf0103f.3.gem/SHA256E-s122368--f68488c8171201a72de14b030180f15c66fc195af0eab16474a52938daf0103f.3.gem
\ No newline at end of file
diff --git a/rubygem-hoe/rubygem-hoe-2.12.2-rescue-missing-Manifest.patch b/rubygem-hoe/rubygem-hoe-2.12.2-rescue-missing-Manifest.patch
new file mode 100644
index 000000000..bda9d3aaf
--- /dev/null
+++ b/rubygem-hoe/rubygem-hoe-2.12.2-rescue-missing-Manifest.patch
@@ -0,0 +1,11 @@
+--- lib/hoe.rb.manifest	1970-01-01 09:00:00.000000000 +0900
++++ lib/hoe.rb	2011-08-28 04:15:47.000000000 +0900
+@@ -424,7 +424,7 @@
+
+       manifest = File.read_utf("Manifest.txt").split(/\r?\n\r?/) rescue nil
+
+-      abort [
++      warn [
+              "Manifest is missing or couldn't be read.",
+              "The Manifest is kind of a big deal.",
+              "Maybe you're using a gem packaged by a linux project.",
diff --git a/rubygem-hoe/rubygem-hoe-2.12.3-rdoctask-rescue.patch b/rubygem-hoe/rubygem-hoe-2.12.3-rdoctask-rescue.patch
new file mode 100644
index 000000000..e1cf52d24
--- /dev/null
+++ b/rubygem-hoe/rubygem-hoe-2.12.3-rdoctask-rescue.patch
@@ -0,0 +1,17 @@
+--- TMP/lib/hoe/publish.rb.dep	1970-01-01 09:00:00.000000000 +0900
++++ TMP/lib/hoe/publish.rb	2011-09-09 03:08:08.000000000 +0900
+@@ -93,11 +93,13 @@
+
+       begin
+         require 'rdoc/task'
++        rdoctask = RDoc::Task
+       rescue LoadError
+         require 'rake/rdoctask'
++        rdoctask = Rake::RDocTask
+       end
+
+-      RDoc::Task.new(:docs) do |rd|
++      rdoctask.new(:docs) do |rd|
+         rd.main = readme_file
+         rd.options << '-d' if (`which dot` =~ /\/dot/) unless
+           ENV['NODOT'] || Hoe::WINDOZE
diff --git a/rubygem-hoe/rubygem-hoe.spec b/rubygem-hoe/rubygem-hoe.spec
new file mode 100644
index 000000000..14a084253
--- /dev/null
+++ b/rubygem-hoe/rubygem-hoe.spec
@@ -0,0 +1,299 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name hoe
+
+Summary:    	Hoe is a simple rake/rubygems helper for project Rakefiles
+Name:       	%{?scl_prefix}rubygem-%{gem_name}
+Version:    	2.12.3
+Release:    	6%{?dist}
+Group:      	Development/Languages
+License:    	MIT
+URL:        	http://rubyforge.org/projects/seattlerb/
+Source0:    	http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# Rescue Hoe.spec task when Manifest.txt
+# seattlerb-Bugs-28571
+Patch0:		rubygem-hoe-2.12.2-rescue-missing-Manifest.patch
+# Rescue RDoc::Task when rubygem(rdoc) is not installed
+Patch1:		rubygem-hoe-2.12.3-rdoctask-rescue.patch
+Requires:   	%{?scl_prefix}ruby(abi) = 1.9.1
+Requires:   	%{?scl_prefix}rubygems >= 1.3.6
+Requires:   	%{?scl_prefix}rubygem(rubyforge) >= 2.0.4
+Requires:   	%{?scl_prefix}rubygem(rake)      >= 0.8.7
+#Requires:       %{?scl_prefix}rubygem(minitest)  >= 1.7.0
+BuildRequires:  %{?scl_prefix}rubygems-devel >= 1.3.6
+# %%check
+BuildRequires:	%{?scl_prefix}rubygem(minitest)
+BuildRequires:	%{?scl_prefix}rubygem(rake)
+BuildRequires:	%{?scl_prefix}rubygem(rubyforge)
+BuildArch:  	noarch
+Provides:   	%{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Hoe is a rake/rubygems helper for project Rakefiles. It helps generate
+rubygems and includes a dynamic plug-in system allowing for easy
+extensibility. Hoe ships with plug-ins for all your usual project
+tasks including rdoc generation, testing, packaging, and deployment.
+Plug-ins Provided:
+* Hoe::Clean
+* Hoe::Debug
+* Hoe::Deps
+* Hoe::Flay
+* Hoe::Flog
+* Hoe::Inline
+* Hoe::Package
+* Hoe::Publish
+* Hoe::RCov
+* Hoe::Signing
+* Hoe::Test
+See class rdoc for help. Hint: ri Hoe
+
+%package	doc
+Summary:	Documentation for %{pkg_name}
+Group:		Documentation
+Requires:	%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description	doc
+This package contains documentation for %{pkg_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install \
+	--local \
+	-V \
+	--install-dir .%{gem_dir} \
+	--force \
+	--rdoc \
+	%{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+%patch0 -p0
+%patch1 -p1
+
+%build
+# Allow rake 0.9
+pushd .%{gem_dir}/specifications/
+sed -i -e '/rake.*0\.8/s|~>|>=|' %{gem_name}-%{version}.gemspec
+popd
+pushd .%{gem_instdir}
+sed -i -e '/rake/s|~> 0\.8|>= 0.8.7|' lib/hoe.rb
+
+# Allow RubyInline 3.8.4
+sed -i -e '/RubyInline/s|~> 3\.9|>= 3.8.4|' lib/hoe/inline.rb
+
+popd
+
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+	%{buildroot}%{gem_dir}/
+
+chmod 0644 %{buildroot}%{gem_dir}/cache/*gem
+
+mkdir -p %{buildroot}/%{_bindir}
+mv %{buildroot}%{gem_dir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{buildroot}/%{gem_dir}/bin
+find %{buildroot}/%{gem_instdir}/bin -type f | xargs chmod 0755
+
+chmod 0755 %{buildroot}/%{gem_instdir}/template/bin/file_name.erb
+# Don't remove template files
+#rm -f %{buildroot}/%{gem_instdir}/template/.autotest.erb
+
+%check
+pushd .%{gem_instdir}
+
+# Make sure that hoe currently building are loaded
+export RUBYLIB=$(pwd)/lib
+
+%{?scl:scl enable %{scl} "}
+rake test -v --trace
+%{?scl:"}
+popd
+
+%files
+%defattr(-, root, root, -)
+%{_bindir}/sow
+%dir %{gem_instdir}/
+%{gem_instdir}/bin/
+%{gem_instdir}/lib/
+%{gem_instdir}/template/
+%{gem_dir}/cache/%{gem_name}-%{version}.gem
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%doc %{gem_instdir}/[A-Z]*
+
+%files	doc
+%defattr(-,root,root,-)
+%{gem_instdir}/.autotest
+%{gem_instdir}/.gemtest
+%{gem_instdir}/test/
+%{gem_dir}/doc/%{gem_name}-%{version}
+
+%changelog
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 2.12.3-5
+- run rake in SC env (msuchy@redhat.com)
+
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 2.12.3-4
+- new package built with tito
+
+* Tue Jul 17 2012 Miroslav Suchý <msuchy@redhat.com> 2.12.3-3
+- another round of koji building for rhel 6 (lzap+git@redhat.com)
+
+* Fri Sep  9 2011 Mamoru Tasaka <mtasaka@fedroaproject.org> - 2.12.3-1
+- 2.12.3
+
+* Sun Aug 28 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.12.2-1
+- 2.12.2
+
+* Thu Aug 18 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.12.0-2
+- Fix glob order issue under test/
+
+* Thu Aug 18 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.12.0-1
+- 2.12.0
+
+* Sun Jul  3 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.10.0-1
+- 2.10.0
+
+* Sun Jun 26 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.9.6-1
+- 2.9.6
+
+* Sun Apr  3 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 2.9.4-1
+- 2.9.4
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Mon Feb  7 2011 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.9.1-1
+- 2.9.1
+
+* Wed Feb  2 2011 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.9.0-1
+- 2.9.0
+
+* Fri Dec 10 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.8.0-1
+- 2.8.0
+
+* Sat Nov 20 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.7.0-2
+- 2.7.0
+
+* Fri Sep 17 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.6.2-3
+- Rescue Hoe.spec task when Manifest.txt is missing
+
+* Sat Sep  4 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.6.2-2
+- Kill unneeded patch
+
+* Fri Sep  3 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.6.2-1
+- 2.6.2
+- Drop development dependency
+- Split documentation files
+
+* Sat Jun  5 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.6.1-1
+- 2.6.1
+
+* Thu Jun  3 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.6.0-3
+- Use upstreamed patch for rubyforge-without-account.patch
+- Fix test failure related to glob
+  (build failed with Matt's mass build, also failed on koji)
+
+* Wed Apr 28 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.6.0-1
+- 2.6.0
+- gemcutter dependency dropped
+
+* Thu Mar  4 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.5.0-3
+- Enable test
+- Some cleanups
+
+* Mon Feb 15 2010 Darryl L. Pierce <dpierce@redhat.com> 2.5.0-2
+- Updated the dependency on rubygem-rubyforge to >= 2.0.3.
+
+* Mon Feb 15 2010 Darryl L. Pierce <dpierce@redhat.com> 2.5.0-1
+- Added dependency on rubygem-gemcutter >= 0.2.1.
+- Added dependency on rubygem-minitest >= 1.4.2.
+- Release 2.5.0 of Hoe.
+
+* Sat Aug  8 2009 Darryl L. Pierce <dpierce@redhat.com> - 2.3.3-1
+- Release 2.3.3 of Hoe.
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri Jul  1 2009 Darryl L. Pierce <dpierce@redhat.com> - 2.3.2-1
+- Release 2.3.2 of Hoe.
+
+* Fri Jun 26 2009 Darryl L. Pierce <dpierce@redhat.com> - 2.3.1-1
+- Release 2.3.1 of Hoe.
+
+* Thu Jun 18 2009 Darryl L. Pierce <dpierce@redhat.com> - 2.2.0-1
+- Release 2.2.0 of Hoe.
+
+* Mon Jun 15 2009 Darryl L. Pierce <dpierce@redhat.com> - 2.1.0-1
+- Release 2.1.0 of Hoe.
+
+* Wed Jun  3 2009 Darryl L. Pierce <dpierce@redhat.com> - 2.0.0-1
+- Release 2.0.0 of Hoe.
+
+* Fri Apr 17 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.12.2-1
+- Release 1.12.2 of Hoe.
+
+* Wed Apr  1 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.12.1-1
+- Release 1.12.1 of Hoe.
+
+* Tue Mar 17 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.11.0-1
+- Release 1.11.0 of Hoe.
+
+* Tue Mar 10 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.10.0-1
+- Release 1.10.0 of Hoe.
+
+* Fri Feb 27 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.9.0-1
+- Release 1.9.0 of Hoe.
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Wed Jan 21 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.8.3-1
+- Release 1.8.3 of Hoe.
+
+* Mon Oct 27 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.8.2-1
+- Release 1.8.2 of Hoe.
+
+* Thu Oct 23 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.8.1-2
+- Last build failed.
+
+* Thu Oct 23 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.8.1-1
+- Release 1.8.1 of the gem.
+
+* Mon Oct 13 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.8.0-1
+- Release 1.8.0 of the gem.
+
+* Tue Jul 01 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.7.0-1
+- Release 1.7.0 of the gem.
+
+* Wed Jun 18 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.6.0-1
+- Release 1.6.0 of the gem.
+
+* Mon Jun 09 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.3-2
+- Fixed the dependency for the newer version of rubygem-rubyforge.
+
+* Tue Jun 03 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.3-1
+- New release of Hoe.
+
+* Wed May 14 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.1-6
+- Fixed the build, which failed only on devel.
+
+* Wed May 14 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.1-5
+- First official build.
+
+* Mon May 12 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.1-4
+- Update for Fedora 8 and 9.
+
+* Tue Apr 29 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.1-3
+- Fixed the license to read MIT.
+
+* Mon Apr 28 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.1-2
+- Updated the spec to comply with Ruby packaging guidelines.
+
+* Fri Apr 18 2008 Darryl L. Pierce <dpierce@redhat.com> - 1.5.1-1
+- Initial package
diff --git a/rubygem-i18n_data/i18n-data.spec b/rubygem-i18n_data/i18n-data.spec
new file mode 100644
index 000000000..54d7878f1
--- /dev/null
+++ b/rubygem-i18n_data/i18n-data.spec
@@ -0,0 +1,62 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%define gem_name i18n_data
+
+Summary: country/language names and 2-letter-code pairs, in 85 languages
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.2.7
+Release: 3%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://github.com/grosser/i18n_data
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+Requires: %{?scl_prefix}rubygem(activesupport) >= 0
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+country/language names and 2-letter-code pairs, in 85 languages
+
+%prep
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{buildroot}%{gem_dir} \
+            --force --rdoc %{SOURCE0}
+%{?scl:"}
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-, root, root, -)
+
+%{gem_dir}/gems/%{gem_name}-%{version}/
+
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+
+
+%doc %{gem_instdir}/README.markdown
+
+%{gem_dir}/cache/%{gem_name}-%{version}.gem
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%changelog
+* Wed Feb 27 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.7-2
+- new package built with tito
+
+* Mon Jan 17 2011 Shannon Hughes <shughes@redhat.com> 0.2.7-1
+- new package built with tito
+
+* Mon Jan 17 2011 Shannon Hughes <shughes@scooby.rdu.redhat.com> - 0.2.7-1
+- Initial package
diff --git a/rubygem-i18n_data/i18n_data-0.2.7.gem b/rubygem-i18n_data/i18n_data-0.2.7.gem
new file mode 120000
index 000000000..8ac815b42
--- /dev/null
+++ b/rubygem-i18n_data/i18n_data-0.2.7.gem
@@ -0,0 +1 @@
+../.git/annex/objects/QQ/30/SHA256E-s226304--ab333cc2dbc7be189c1c4ed28ad4fd4de94c2e899fae253b78cb29fd3a93ef75.7.gem/SHA256E-s226304--ab333cc2dbc7be189c1c4ed28ad4fd4de94c2e899fae253b78cb29fd3a93ef75.7.gem
\ No newline at end of file
diff --git a/rubygem-jquery-ui-rails/jquery-ui-rails-4.0.2.gem b/rubygem-jquery-ui-rails/jquery-ui-rails-4.0.2.gem
new file mode 120000
index 000000000..3bdacbd7b
--- /dev/null
+++ b/rubygem-jquery-ui-rails/jquery-ui-rails-4.0.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/3f/z4/SHA256E-s153088--737e2a00c516106ae1f61c174ef3696499be99465a4c9f5cd13e78ff6a357114.2.gem/SHA256E-s153088--737e2a00c516106ae1f61c174ef3696499be99465a4c9f5cd13e78ff6a357114.2.gem
\ No newline at end of file
diff --git a/rubygem-jquery-ui-rails/rubygem-jquery-ui-rails.spec b/rubygem-jquery-ui-rails/rubygem-jquery-ui-rails.spec
new file mode 100644
index 000000000..4c397b7af
--- /dev/null
+++ b/rubygem-jquery-ui-rails/rubygem-jquery-ui-rails.spec
@@ -0,0 +1,99 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from jquery-ui-rails-4.0.2.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name jquery-ui-rails
+%global rubyabi 1.9.1
+
+Summary: jQuery UI packaged for the Rails asset pipeline
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 4.0.2
+Release: 7%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: https://github.com/joliss/jquery-ui-rails
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) >= 1.3.6
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(railties) >= 3.1.0
+Requires: %{?scl_prefix}rubygem(jquery-rails)
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel >= 1.3.6
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+jQuery UI's JavaScript, CSS, and image files packaged for the Rails 3.1+ asset
+pipeline
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+rm -rf %{buildroot}%{gem_instdir}/{.gitignore,.gitmodules,.travis.yml,Gemfile,Rakefile}
+
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_instdir}/app
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/License.txt
+%doc %{gem_instdir}/History.md
+
+
+%files doc
+%doc %{gem_docdir}
+
+%changelog
+* Thu Jun 27 2013 Miroslav Suchý <msuchy@redhat.com> 4.0.2-7
+- change ruby(abi) to ruby(release) for F19+ (msuchy@redhat.com)
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 4.0.2-5
+- fix files section (msuchy@redhat.com)
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 4.0.2-4
+- fix files section (msuchy@redhat.com)
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 4.0.2-3
+- new package built with tito
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 4.0.2-2
+- new package built with tito
+
+* Thu Mar 28 2013 msuchy@redhat.com - 4.0.2-1
+- Initial package
diff --git a/rubygem-jwt/jwt-0.1.8.gem b/rubygem-jwt/jwt-0.1.8.gem
new file mode 120000
index 000000000..4ebe21d8a
--- /dev/null
+++ b/rubygem-jwt/jwt-0.1.8.gem
@@ -0,0 +1 @@
+../.git/annex/objects/QZ/JX/SHA256E-s7168--b8efe8386c028561b07616753955c5d1a94c2861fbc3075257193bc9aff4f3a9.8.gem/SHA256E-s7168--b8efe8386c028561b07616753955c5d1a94c2861fbc3075257193bc9aff4f3a9.8.gem
\ No newline at end of file
diff --git a/rubygem-jwt/rubygem-jwt.spec b/rubygem-jwt/rubygem-jwt.spec
new file mode 100644
index 000000000..900d7a2e5
--- /dev/null
+++ b/rubygem-jwt/rubygem-jwt.spec
@@ -0,0 +1,80 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name jwt
+%global rubyabi 1.9.1
+
+Summary: JSON Web Token implementation in Ruby
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.1.8
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/progrium/ruby-jwt
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(multi_json) >= 1.5.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+A Ruby implementation of JSON Web Token draft 06.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%exclude %{gem_instdir}/*.gemspec
+%exclude %{gem_instdir}/Manifest
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/spec
+
+%files doc
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+%doc %{gem_docdir}
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 0.1.8-1
+- new package built with tito
+
diff --git a/rubygem-launchy/launchy-2.3.0.gem b/rubygem-launchy/launchy-2.3.0.gem
new file mode 120000
index 000000000..b0eb44f1d
--- /dev/null
+++ b/rubygem-launchy/launchy-2.3.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/VM/4g/SHA256E-s27648--f0ea53da349e1654e995eb9115c867008d49d2c257843881665625e100d17b32.0.gem/SHA256E-s27648--f0ea53da349e1654e995eb9115c867008d49d2c257843881665625e100d17b32.0.gem
\ No newline at end of file
diff --git a/rubygem-launchy/rubygem-launchy.spec b/rubygem-launchy/rubygem-launchy.spec
new file mode 100644
index 000000000..87969627a
--- /dev/null
+++ b/rubygem-launchy/rubygem-launchy.spec
@@ -0,0 +1,98 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name launchy
+%global rubyabi 1.9.1
+
+Summary: Launchy is helper class for launching cross-platform applications
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.3.0
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/copiousfreetime/launchy
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(addressable) >= 2.3.0
+Requires: %{?scl_prefix}rubygem(addressable) < 3.0.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Launchy is helper class for launching cross-platform applications in a fire and
+forget manner. There are application concepts (browser, email client, etc) that
+are common across all platforms, and they may be launched differently on each
+platform. Launchy is here to make a common approach to launching external
+application from within ruby programs.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --bindir .%{_bindir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}%{_bindir}
+cp -a .%{_bindir}/* \
+        %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+%files
+%dir %{gem_instdir}
+%{_bindir}/launchy
+%{gem_instdir}/bin
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/Manifest.txt
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/tasks
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/CONTRIBUTING.md
+%doc %{gem_instdir}/HISTORY.md
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 2.3.0-1
+- new package built with tito
+
diff --git a/rubygem-less-rails/less-rails-2.3.2.gem b/rubygem-less-rails/less-rails-2.3.2.gem
new file mode 120000
index 000000000..9dfa21d06
--- /dev/null
+++ b/rubygem-less-rails/less-rails-2.3.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Wx/Q4/SHA256E-s25600--eede49749837ffd37837421237176563150edd3606b5af9d9a1c5db481d0f367.2.gem/SHA256E-s25600--eede49749837ffd37837421237176563150edd3606b5af9d9a1c5db481d0f367.2.gem
\ No newline at end of file
diff --git a/rubygem-less-rails/rubygem-less-rails.spec b/rubygem-less-rails/rubygem-less-rails.spec
new file mode 100644
index 000000000..60f2b3775
--- /dev/null
+++ b/rubygem-less-rails/rubygem-less-rails.spec
@@ -0,0 +1,105 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from less-rails-2.3.2.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name less-rails
+%global rubyabi 1.9.1
+
+Summary: The dynamic stylesheet language for the Rails asset pipeline
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.3.2
+Release: 6%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://github.com/metaskills/less-rails
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}ruby 
+Requires: %{?scl_prefix}rubygem(less) => 2.3.1
+Requires: %{?scl_prefix}rubygem(less) < 2.4
+Requires: %{?scl_prefix}rubygem(actionpack) >= 3.1
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}ruby 
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+The dynamic stylesheet language for the Rails asset pipeline. Allows other
+gems to extend Less load path.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+rm -rf %{buildroot}%{gem_instdir}/{.gitignore,.gitmodules}
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%exclude %{gem_instdir}/%{gem_name}.gemspec
+%{gem_spec}
+%doc %{gem_instdir}/MIT-LICENSE
+%doc %{gem_instdir}/README.md
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/.travis.yml
+%{gem_instdir}/Appraisals
+%{gem_instdir}/Gemfile
+%{gem_instdir}/Rakefile
+%{gem_instdir}/CHANGELOG.md
+%{gem_instdir}/Guardfile
+%{gem_instdir}/gemfiles
+%{gem_instdir}/test
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 2.3.2-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 2.3.2-4
+- new package built with tito
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 2.3.2-3
+- fix files section (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 2.3.2-2
+- new package built with tito
+
+* Fri Mar 29 2013 msuchy@redhat.com - 2.3.2-1
+- Initial package
diff --git a/rubygem-less/less-2.3.1.gem b/rubygem-less/less-2.3.1.gem
new file mode 120000
index 000000000..3e6606a08
--- /dev/null
+++ b/rubygem-less/less-2.3.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/9J/mx/SHA256E-s799232--0b36397f6ef525d6df0b501b66b957028fda54d8a26d3734ad2471a04a9d428c.1.gem/SHA256E-s799232--0b36397f6ef525d6df0b501b66b957028fda54d8a26d3734ad2471a04a9d428c.1.gem
\ No newline at end of file
diff --git a/rubygem-less/rubygem-less.spec b/rubygem-less/rubygem-less.spec
new file mode 100644
index 000000000..ffade7b2c
--- /dev/null
+++ b/rubygem-less/rubygem-less.spec
@@ -0,0 +1,105 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from less-2.3.1.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name less
+%global rubyabi 1.9.1
+
+Summary: Leaner CSS, in your browser or Ruby (via less.js)
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.3.1
+Release: 6%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://lesscss.org
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}ruby 
+Requires: %{?scl_prefix}rubygem(commonjs) => 0.2.6
+Requires: %{?scl_prefix}rubygem(commonjs) < 0.3
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}ruby 
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Invoke the Less CSS compiler from Ruby
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --bindir .%{_bindir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+mkdir -p %{buildroot}%{_bindir}
+cp -a .%{_bindir}/* \
+        %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+rm -rf %{buildroot}%{gem_instdir}/{.gitignore,.gitmodules}
+
+%files
+%dir %{gem_instdir}
+%{_bindir}/lessc
+%{gem_instdir}/bin
+%{gem_libdir}
+%exclude %{gem_cache}
+%exclude %{gem_instdir}/%{gem_name}.gemspec
+%{gem_spec}
+%doc %{gem_instdir}/README.md
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/.travis.yml
+%{gem_instdir}/Gemfile
+%{gem_instdir}/Rakefile
+%{gem_instdir}/spec
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 2.3.1-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 2.3.1-4
+- new package built with tito
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 2.3.1-3
+- fix files section (msuchy@redhat.com)
+
+* Fri Mar 29 2013 Miroslav Suchý <msuchy@redhat.com> 2.3.1-2
+- new package built with tito
+
+* Fri Mar 29 2013 msuchy@redhat.com - 2.3.1-1
+- Initial package
diff --git a/rubygem-levenshtein/levenshtein-0.2.2.gem b/rubygem-levenshtein/levenshtein-0.2.2.gem
new file mode 120000
index 000000000..0c4e33ddf
--- /dev/null
+++ b/rubygem-levenshtein/levenshtein-0.2.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/3p/P7/SHA256E-s7680--e2088ce4eaf4460e48c1812f43f5d89c50835830e74adcb4317cc477d4f1bf98.2.gem/SHA256E-s7680--e2088ce4eaf4460e48c1812f43f5d89c50835830e74adcb4317cc477d4f1bf98.2.gem
\ No newline at end of file
diff --git a/rubygem-levenshtein/rubygem-levenshtein.spec b/rubygem-levenshtein/rubygem-levenshtein.spec
new file mode 100644
index 000000000..d4dae51c2
--- /dev/null
+++ b/rubygem-levenshtein/rubygem-levenshtein.spec
@@ -0,0 +1,123 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global	gem_name	levenshtein
+%global	rubyabi	1.9.1
+
+Summary:	Calculates the Levenshtein distance between two byte strings
+Name:		%{?scl_prefix}rubygem-%{gem_name}
+Version:	0.2.2
+Release:	2%{?dist}
+
+Group:		Development/Languages
+# LICENSE file
+License:	GPLv2
+URL:		http://www.erikveen.dds.nl/levenshtein/doc/index.html
+Source0:	http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+Requires:	%{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires:	%{?scl_prefix}ruby(rubygems) 
+Requires:	%{?scl_prefix}ruby
+BuildRequires:	%{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires:	%{?scl_prefix}rubygems-devel 
+BuildRequires:	%{?scl_prefix}ruby-devel
+BuildRequires:	%{?scl_prefix}rubygem(minitest)
+Provides:	%{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Calculates the Levenshtein distance between two byte strings.
+
+The Levenshtein distance is a metric for measuring the amount
+of difference between two sequences (i.e., the so called edit
+distance). The Levenshtein distance between two sequences is
+given by the minimum number of operations needed to transform
+one sequence into the other, where an operation is an
+insertion, deletion, or substitution of a single element.
+
+%package	doc
+Summary:	Documentation for %{pkg_name}
+Group:		Documentation
+Requires:	%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch:	noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+TOPDIR=$(pwd)
+mkdir tmpunpackdir
+pushd tmpunpackdir
+
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+cd %{gem_name}-%{version}
+
+# Permission
+find . -name \*.rb -print0 | xargs --null chmod 0644
+
+%{?scl:scl enable %{scl} "}
+gem specification -l --ruby %{SOURCE0}
+%{?scl:"} > %{gem_name}.gemspec
+
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+mv %{gem_name}-%{version}.gem $TOPDIR
+
+popd
+rm -rf tmpunpackdir
+
+%build
+mkdir -p .%{gem_dir}
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+%{?scl:scl enable %{scl} "}
+gem install \
+	--local \
+	--install-dir .%{gem_dir} \
+	-V \
+	--force \
+	%{gem_name}-%{version}.gem
+%{?scl:"}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+	%{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}%{gem_extdir}/lib
+mv \
+	%{buildroot}%{gem_instdir}/lib/levenshtein \
+	%{buildroot}%{gem_extdir}/lib/
+
+# Remove the binary extension sources and build leftovers.
+rm -rf %{buildroot}%{gem_instdir}/ext
+
+%check
+pushd .%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+ruby -Ilib test/test.rb
+%{?scl:"}
+popd
+
+%files
+%dir	%{gem_instdir}
+%doc	%{gem_instdir}/[A-Z]*
+
+%{gem_libdir}/
+%{gem_extdir}/
+%exclude	%{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc	%{gem_docdir}
+%exclude	%{gem_instdir}/test/
+
+%changelog
+* Tue May 14 2013 Dominic Cleal <dcleal@redhat.com> 0.2.2-2
+- new package built with tito
+
+* Sat Jan  5 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.2.2-1
+- Initial package
diff --git a/rubygem-maruku/maruku-0.6.1.gem b/rubygem-maruku/maruku-0.6.1.gem
new file mode 120000
index 000000000..c41e9b744
--- /dev/null
+++ b/rubygem-maruku/maruku-0.6.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/F2/Mv/SHA256E-s150528--ffd973a8017ecb26606e1c1628b3d58db4ba523b4382cce292e94c800825ac07.1.gem/SHA256E-s150528--ffd973a8017ecb26606e1c1628b3d58db4ba523b4382cce292e94c800825ac07.1.gem
\ No newline at end of file
diff --git a/rubygem-maruku/rubygem-maruku.spec b/rubygem-maruku/rubygem-maruku.spec
new file mode 100644
index 000000000..44111d763
--- /dev/null
+++ b/rubygem-maruku/rubygem-maruku.spec
@@ -0,0 +1,118 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%define gem_name maruku
+
+%define rubyabi 1.9.1
+
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Summary: Maruku is a Markdown-superset interpreter written in Ruby
+Version: 0.6.1
+Release: 11%{?dist}
+Group: Development/Languages
+License: GPLv2+
+URL: http://maruku.rubyforge.org
+Source0: http://gemcutter.org/downloads/%{gem_name}-%{version}.gem
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}rubygem(syntax) >= 1.0.0
+%if 0%{?fedora} > 18
+Requires:       %{?scl_prefix}ruby(release)
+%else
+Requires:       %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygem(rake)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Maruku is a Markdown interpreter in Ruby. It features native export to HTML
+and PDF (via Latex). The output is really beautiful!
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p ./%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install \
+  --local \
+  --install-dir $(pwd)/%{gem_dir} \
+  --force --no-ri --rdoc \
+  %{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+
+# fixes rpmlint warning about file-not-utf8
+# http://fedoraproject.org/wiki/Common_Rpmlint_issues#file-not-utf8
+iconv -f iso8859-1 -t utf-8 tests/unittest/lists10.md > list10.md.conv && mv -f list10.md.conv tests/unittest/lists10.md
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+mkdir -p %{buildroot}/%{_bindir}
+
+cp -a ./%{gem_dir}/* %{buildroot}/%{gem_dir}/.
+mv %{buildroot}%{gem_dir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{buildroot}%{gem_dir}/bin
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-, root, root, -)
+%{_bindir}/maruku
+%{_bindir}/marutex
+%dir %{gem_instdir}
+%{gem_instdir}/bin
+%{gem_libdir}
+
+%{gem_cache}
+%{gem_spec}
+
+%doc %{gem_instdir}/docs
+%doc %{gem_instdir}/tests
+%doc %{gem_instdir}/Rakefile
+%doc %{gem_instdir}/*.sh
+%doc %{gem_docdir}
+
+%changelog
+* Thu Aug 29 2013 Partha Aji <paji@redhat.com> 0.6.1-11
+- Updated maruku to 0.6.1 to deal with iconv errors (paji@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Mar 15 2013 Lukas Zapletal <lzap+git@redhat.com> 0.6.0-9
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jan 31 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.6.0-7
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Aug 08 2011 Mo Morsi <mmorsi@redhat.com> - 0.6.0-5
+- Replace BR(check) with BR
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Tue Feb 23 2010 Mohammed Morsi <mmorsi@redhat.com> - 0.6.0-3
+- added geminstdir to file list
+- added rubygem(rake) dependency
+- other fixes to conform to package guidelines
+
+* Mon Feb 08 2010 Mohammed Morsi <mmorsi@redhat.com> - 0.6.0-2
+- cleaned up macros, other package guideline compliance fixes
+- corrected license
+- include all files and docs, added check/test section
+
+* Mon Feb 08 2010 Mohammed Morsi <mmorsi@redhat.com> - 0.6.0-1
+- Initial package
diff --git a/rubygem-multi-select-rails/multi-select-rails-0.9.10.gem b/rubygem-multi-select-rails/multi-select-rails-0.9.10.gem
new file mode 120000
index 000000000..f9edc9a66
--- /dev/null
+++ b/rubygem-multi-select-rails/multi-select-rails-0.9.10.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Q5/05/SHA256E-s15360--5ec03890d944a0796d9e646e64de04448bc05153fd101ad1714f90e7734cc4de.10.gem/SHA256E-s15360--5ec03890d944a0796d9e646e64de04448bc05153fd101ad1714f90e7734cc4de.10.gem
\ No newline at end of file
diff --git a/rubygem-multi-select-rails/rubygem-multi-select-rails.spec b/rubygem-multi-select-rails/rubygem-multi-select-rails.spec
new file mode 100644
index 000000000..7753427f3
--- /dev/null
+++ b/rubygem-multi-select-rails/rubygem-multi-select-rails.spec
@@ -0,0 +1,86 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name multi-select-rails
+%global rubyabi 1.9.1
+
+Summary: Multiselect jQuery plugin for Rails asset pipeline
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.9.10
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/klenis/multi-select-rails
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(railties) >= 3.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+multi-select is a tiny jQuery plugin to customize selects with the multiple
+attribute. The multi-select-rails gem integrates multi-select with the Rails
+asset pipeline.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/app
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE.txt
+
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/*.gemspec
+%exclude %{gem_instdir}/.*
+%exclude %{gem_instdir}/multi-select.sublime-project
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE.txt
+%doc %{gem_instdir}/*.md
+
+%changelog
+* Tue Feb 18 2014 Dominic Cleal <dcleal@redhat.com> 0.9.10-1
+- new package built with tito
+
diff --git a/rubygem-multipart-post/multipart-post-1.2.0.gem b/rubygem-multipart-post/multipart-post-1.2.0.gem
new file mode 120000
index 000000000..3fa2682e6
--- /dev/null
+++ b/rubygem-multipart-post/multipart-post-1.2.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/pg/0z/SHA256E-s10240--ccf26a61706f128a2a3f3745aba0f79fde7b6fee068e03490eb189c2aaa5e78a.0.gem/SHA256E-s10240--ccf26a61706f128a2a3f3745aba0f79fde7b6fee068e03490eb189c2aaa5e78a.0.gem
\ No newline at end of file
diff --git a/rubygem-multipart-post/rubygem-multipart-post.spec b/rubygem-multipart-post/rubygem-multipart-post.spec
new file mode 100644
index 000000000..dc530dbb1
--- /dev/null
+++ b/rubygem-multipart-post/rubygem-multipart-post.spec
@@ -0,0 +1,89 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name multipart-post
+%global rubyabi 1.9.1
+
+Summary: Use with Net::HTTP to do multipart form posts
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.2.0
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/nicksieger/multipart-post
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Use with Net::HTTP to do multipart form posts. IO values that have
+content_type, original_filename, and local_path will be posted as a binary
+file.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/README.txt
+
+%exclude %{gem_instdir}/.gitignore
+%exclude %{gem_instdir}/.travis.yml
+%exclude %{gem_instdir}/Gemfile*
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/test
+%exclude %{gem_instdir}/*.gemspec
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/History.txt
+%doc %{gem_instdir}/Manifest.txt
+%doc %{gem_instdir}/README.txt
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 1.2.0-2
+- Fix missing .gem (dcleal@redhat.com)
+
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 1.2.0-1
+- new package built with tito
+
diff --git a/rubygem-mysql2/mysql2-0.3.11.gem b/rubygem-mysql2/mysql2-0.3.11.gem
new file mode 120000
index 000000000..4ef1176a6
--- /dev/null
+++ b/rubygem-mysql2/mysql2-0.3.11.gem
@@ -0,0 +1 @@
+../.git/annex/objects/kV/Mm/SHA256E-s41984--134f848e91d60756083873b66fc471a029b5df51c35852ef5a3a0f9f7a496641.11.gem/SHA256E-s41984--134f848e91d60756083873b66fc471a029b5df51c35852ef5a3a0f9f7a496641.11.gem
\ No newline at end of file
diff --git a/rubygem-mysql2/rubygem-mysql2.spec b/rubygem-mysql2/rubygem-mysql2.spec
new file mode 100644
index 000000000..e727d4f9f
--- /dev/null
+++ b/rubygem-mysql2/rubygem-mysql2.spec
@@ -0,0 +1,160 @@
+%{!?scl:%global pkg_name %{name}}
+%{?scl:%scl_package rubygem-%{gem_name}}
+
+%define gem_name mysql2
+
+%define version 0.3.11
+
+Summary: A simple, fast Mysql library for Ruby, binding to libmysql
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: %{version}
+Release: 4%{?dist}
+Group: Development/Ruby
+License: Distributable
+URL: http://mysql-win.rubyforge.org
+Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-root
+
+Requires: %{?scl_prefix}ruby >= 1.8.6
+Requires: %{?scl_prefix}rubygems >= 1.8.10
+
+BuildRequires: %{?scl_prefix}ruby >= 1.8.6
+BuildRequires: %{?scl_prefix}rubygems >= 1.8.10
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: mysql-devel
+
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+
+%define gem_builddir %{buildroot}%{gem_dir}
+
+%description
+This is the MySQL API module for Ruby. It provides the same functions for Ruby
+programs that the MySQL C API provides for C programs.
+This is a conversion of tmtm's original extension into a proper RubyGems.
+
+%package doc
+Summary: Documentation for rubygem-%{gem_name}
+Group: Documentation
+Requires: %{?scl_prefix}rubygem-%{gem_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+
+%prep
+%setup -T -c -q
+
+%build
+%{__rm} -rf %{buildroot}
+mkdir -p ./%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir ./%{gem_dir} -V --force %{SOURCE0}
+%{?scl:"}
+
+
+%install
+%{__rm} -rf %{buildroot}
+mkdir -p %{gem_builddir}
+cp -a ./%{gem_dir}/* %{buildroot}/%{gem_dir}
+rm -rf %{gem_builddir}/gems/%{gem_name}-%{version}/ext/%{gem_name}/%{gem_name}.so
+rm -rf %{buildroot}%{gem_dir}/gems/%{gem_name}-%{version}/.yardoc
+
+# ruby 2.0.0 mkmf issue, fixed by r40280
+rm -rf %{gem_builddir}/gems/%{gem_name}-%{version}/ext/%{gem_name}/.RUBYARCHDIR.time
+# rubygems 2.0.3 stray temp file issue, PR #587
+rm -rf %{gem_builddir}/gems/%{gem_name}-%{version}/ext/%{gem_name}/siteconf*.rb
+
+# remove non-stripped object files
+find %{buildroot} -type f -name *.o -exec rm -f {} +
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root)
+%{gem_instdir}/.gitignore
+%{gem_instdir}/.rspec
+%{gem_instdir}/.rvmrc
+%{gem_instdir}/.travis.yml
+%{gem_instdir}/CHANGELOG.md
+%{gem_instdir}/Gemfile
+%{gem_instdir}/MIT-LICENSE
+%{gem_instdir}/README.md
+%{gem_instdir}/benchmark/active_record.rb
+%{gem_instdir}/benchmark/active_record_threaded.rb
+%{gem_instdir}/benchmark/allocations.rb
+%{gem_instdir}/benchmark/escape.rb
+%{gem_instdir}/benchmark/query_with_mysql_casting.rb
+%{gem_instdir}/benchmark/query_without_mysql_casting.rb
+%{gem_instdir}/benchmark/sequel.rb
+%{gem_instdir}/benchmark/setup_db.rb
+%{gem_instdir}/benchmark/threaded.rb
+%{gem_instdir}/ext/mysql2/client.c
+%{gem_instdir}/ext/mysql2/client.h
+%{gem_instdir}/ext/mysql2/extconf.rb
+%{gem_instdir}/ext/mysql2/mysql2_ext.c
+%{gem_instdir}/ext/mysql2/mysql2_ext.h
+%{gem_instdir}/ext/mysql2/result.c
+%{gem_instdir}/ext/mysql2/result.h
+%{gem_instdir}/ext/mysql2/wait_for_single_fd.h
+%{gem_instdir}/ext/mysql2/Makefile
+%{gem_instdir}/ext/mysql2/mkmf.log
+%{gem_instdir}/lib/mysql2.rb
+%{gem_instdir}/lib/mysql2/client.rb
+%{gem_instdir}/lib/mysql2/em.rb
+%{gem_instdir}/lib/mysql2/error.rb
+%{gem_instdir}/lib/mysql2/result.rb
+%{gem_instdir}/lib/mysql2/version.rb
+%{gem_instdir}/lib/mysql2/mysql2.so
+%{gem_instdir}/mysql2.gemspec
+%{gem_instdir}/spec/em/em_spec.rb
+%{gem_instdir}/spec/mysql2/client_spec.rb
+%{gem_instdir}/spec/mysql2/error_spec.rb
+%{gem_instdir}/spec/mysql2/result_spec.rb
+%{gem_instdir}/spec/rcov.opts
+%{gem_instdir}/spec/spec_helper.rb
+%{gem_instdir}/tasks/benchmarks.rake
+%{gem_instdir}/tasks/compile.rake
+%{gem_instdir}/tasks/rspec.rake
+%{gem_instdir}/tasks/vendor_mysql.rake
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_docdir}
+%{gem_instdir}/Rakefile
+%{gem_instdir}/examples/eventmachine.rb
+%{gem_instdir}/examples/threaded.rb
+
+
+%changelog
+* Wed Nov 27 2013 Lukas Zapletal <lzap+git@redhat.com> 0.3.11-4
+- Removing extra object files from rubygem-mysql2 - fix (lzap+git@redhat.com)
+
+* Wed Nov 27 2013 Lukas Zapletal <lzap+git@redhat.com> 0.3.11-3
+- Removing extra object files from rubygem-mysql2 (lzap+git@redhat.com)
+
+* Mon Jul 08 2013 Dominic Cleal <dcleal@redhat.com> 0.3.11-2
+- Remove stray untracked files, ruby/rubygems bugs (dcleal@redhat.com)
+
+* Thu Jun 20 2013 Dominic Cleal <dcleal@redhat.com> 0.3.11-1
+- Rebase to mysql2 0.3.11 (dcleal@redhat.com)
+
+* Thu Jun 06 2013 Dominic Cleal <dcleal@redhat.com> 0.2.18-5
+- Provide mysql2, not mysql (dcleal@redhat.com)
+
+* Tue Jun 04 2013 Dominic Cleal <dcleal@redhat.com> 0.2.18-4
+- Add gem_spec to rubygem-mysql* to fix loading, exclude gem_cache
+  (dcleal@redhat.com)
+
+* Fri May 24 2013 Martin Bačovský <mbacovsk@redhat.com> 0.2.18-3
+- new package built with tito
+- added support for SCL
+
+
+* Tue May 08 2012 jmontleo@redhat.com - 0.2.18-2
+- Cleaned up spec file
diff --git a/rubygem-net-ldap/net-ldap-0.3.1.gem b/rubygem-net-ldap/net-ldap-0.3.1.gem
new file mode 120000
index 000000000..96672e14d
--- /dev/null
+++ b/rubygem-net-ldap/net-ldap-0.3.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/MG/fK/SHA256E-s66048--953551665fb0d398740a72a26314c6d34bd70fa35419c96dc58351f17d9a5081.1.gem/SHA256E-s66048--953551665fb0d398740a72a26314c6d34bd70fa35419c96dc58351f17d9a5081.1.gem
\ No newline at end of file
diff --git a/rubygem-net-ldap/rubygem-net-ldap.spec b/rubygem-net-ldap/rubygem-net-ldap.spec
new file mode 100644
index 000000000..f853534a2
--- /dev/null
+++ b/rubygem-net-ldap/rubygem-net-ldap.spec
@@ -0,0 +1,124 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name net-ldap
+%if 0%{?rhel} == 6 || 0%{?fedora} < 17
+%global gem_libdir %{gem_instdir}/lib
+%endif
+
+Summary: Net::LDAP for Ruby implements client access LDAP protocol
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.3.1
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://net-ldap.rubyforge.org/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(rubygems)
+BuildRequires: %{?scl_prefix}rubygems-devel
+# specs need metaid gem that is not in Fedora yet
+#BuildRequires: %{?scl_prefix}rubygem(rspec-core)
+#BuildRequires: %{?scl_prefix}rubygem(flexmock)
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+# this package obsoletes rubygem-ruby-net-ldap
+Provides: %{?scl_prefix}rubygem(ruby-net-ldap) = %{version}-%{release}
+Provides: %{?scl_prefix}rubygem-ruby-net-ldap = %{version}-%{release}
+Obsoletes: %{?scl_prefix}rubygem-ruby-net-ldap < 0.0.4-7
+
+%description
+Net::LDAP for Ruby (also called net-ldap) implements client access for the
+Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for
+accessing distributed directory services. Net::LDAP is written completely in
+Ruby with no external dependencies. It supports most LDAP client features and
+a subset of server features as well.
+Net::LDAP has been tested against modern popular LDAP servers including
+OpenLDAP and Active Directory. The current release is mostly compliant with
+earlier versions of the IETF LDAP RFCs (2251–2256, 2829–2830, 3377, and
+3771).
+Our roadmap for Net::LDAP 1.0 is to gain full client compliance with
+the most recent LDAP RFCs (4510–4519, plus portions of 4520–4532).
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%check
+pushd .%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+testrb -Ilib test
+%{?scl:"}
+%{?scl:scl enable %{scl} "}
+#rspec spec
+%{?scl:"}
+popd
+
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/License.rdoc
+%exclude %{gem_instdir}/.autotest
+%exclude %{gem_instdir}/.gemtest
+%exclude %{gem_instdir}/.rspec
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/Manifest.txt
+%doc %{gem_instdir}/Contributors.rdoc
+%doc %{gem_instdir}/Hacking.rdoc
+%doc %{gem_instdir}/History.rdoc
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/autotest
+%{gem_instdir}/%{gem_name}.gemspec
+%{gem_instdir}/Rakefile
+%{gem_instdir}/spec
+%{gem_instdir}/test
+%{gem_instdir}/testserver
+
+%changelog
+* Wed May 29 2013 Marek Hulan <mhulan@redhat.com> 0.3.1-1
+- Net-ldap gem updated to 0.3.1 (mhulan@redhat.com)
+
+* Wed Feb 27 2013 Miroslav Suchý <msuchy@redhat.com> 0.2.2-5
+- new package built with tito
+
+* Mon Nov 26 2012 Miroslav Suchý <msuchy@redhat.com> 0.2.2-4
+- fix requires (msuchy@redhat.com)
+
+* Mon Nov 26 2012 Miroslav Suchý <msuchy@redhat.com> 0.2.2-3
+- rebase to net-ldap-0.2.2.gem (msuchy@redhat.com)
+
+* Tue Feb 28 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.2.2-3
+- Properly obsolete rubygem-ruby-net-ldap (now really).
+
+* Wed Feb 22 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.2.2-2
+- Properly obsolete rubygem-ruby-net-ldap.
+
+* Mon Feb 06 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.2.2-1
+- Initial package
diff --git a/rubygem-net-scp/net-scp-1.1.0.gem b/rubygem-net-scp/net-scp-1.1.0.gem
new file mode 120000
index 000000000..0d5700d60
--- /dev/null
+++ b/rubygem-net-scp/net-scp-1.1.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/zx/1f/SHA256E-s31744--44f38a78401f60cfa094fff43c2301f48c15b6d6f08aa1adfcd76627c354ef0a.0.gem/SHA256E-s31744--44f38a78401f60cfa094fff43c2301f48c15b6d6f08aa1adfcd76627c354ef0a.0.gem
\ No newline at end of file
diff --git a/rubygem-net-scp/rubygem-net-scp.spec b/rubygem-net-scp/rubygem-net-scp.spec
new file mode 100644
index 000000000..3d5e07209
--- /dev/null
+++ b/rubygem-net-scp/rubygem-net-scp.spec
@@ -0,0 +1,114 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name net-scp
+%global rubyabi 1.9.1
+
+Summary: A pure Ruby implementation of the SCP client protocol
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.1.0
+Release: 3%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://net-ssh.rubyforge.org/scp
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}rubygem(net-ssh)
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygem(net-ssh)
+BuildRequires: %{?scl_prefix}rubygem(mocha)
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+A pure Ruby implementation of the SCP client protocol
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires:%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{buildroot}%{gem_dir} \
+            --force --rdoc %{SOURCE0}
+%{?scl:"}
+
+%check
+pushd %{buildroot}%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+# requires newer version of mocha (>= 0.13.3)
+# ruby -Ilib -Itest test/test_all.rb
+%{?scl:"}
+popd
+
+%files
+%defattr(-, root, root, -)
+%dir %{gem_instdir}
+%{gem_libdir}
+%doc %{gem_instdir}/README.rdoc
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%defattr(-, root, root, -)
+%{gem_instdir}/Manifest
+%{gem_instdir}/Rakefile
+%{gem_instdir}/net-scp.gemspec
+%{gem_instdir}/setup.rb
+%doc %{gem_instdir}/CHANGES.txt
+%doc %{gem_instdir}/LICENSE.txt
+%{gem_instdir}/test
+%{gem_instdir}/gem-public_cert.pem
+%doc %{gem_docdir}
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 1.1.0-3
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri May 03 2013 Ivan Necas <inecas@redhat.com> 1.1.0-2
+- Net scp requires newer mocha for running tests (inecas@redhat.com)
+
+* Fri May 03 2013 Ivan Necas <inecas@redhat.com> 1.1.0-1
+- Update due to fog dependency (inecas@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 1.0.4-6
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jan 31 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.0.4-4
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Mar 17 2011 Vít Ondruch <vondruch@redhat.com> - 1.0.4-2
+- Removed obsolete cleanup.
+- Removed explicit requires.
+
+* Tue Feb 08 2011 Vít Ondruch <vondruch@redhat.com> - 1.0.4-1
+- Initial package
diff --git a/rubygem-net-ssh/net-ssh-2.6.7.gem b/rubygem-net-ssh/net-ssh-2.6.7.gem
new file mode 120000
index 000000000..01e1db0a0
--- /dev/null
+++ b/rubygem-net-ssh/net-ssh-2.6.7.gem
@@ -0,0 +1 @@
+../.git/annex/objects/9z/pv/SHA256E-s167424--68371a61facdc0c9f91458058f1d9812f57331adce83ea2db80ff48edee3ea07.7.gem/SHA256E-s167424--68371a61facdc0c9f91458058f1d9812f57331adce83ea2db80ff48edee3ea07.7.gem
\ No newline at end of file
diff --git a/rubygem-net-ssh/rubygem-net-ssh.spec b/rubygem-net-ssh/rubygem-net-ssh.spec
new file mode 100644
index 000000000..75f3e8b56
--- /dev/null
+++ b/rubygem-net-ssh/rubygem-net-ssh.spec
@@ -0,0 +1,142 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from net-ssh-2.2.1.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name net-ssh
+
+%global rubyabi 1.9.1
+
+Summary: Net::SSH: a pure-Ruby implementation of the SSH2 client protocol
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.6.7
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/net-ssh/net-ssh
+Source0: http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}ruby 
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildRequires: %{?scl_prefix}rubygem(mocha)
+BuildRequires: %{?scl_prefix}ruby 
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}rubygem(mocha)
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+# file-not-utf8 correction
+pushd %{buildroot}%{gem_instdir}
+iconv --from=ISO-8859-1 --to=UTF-8 THANKS.txt > THANKS.txt.new && \
+touch -r THANKS.txt THANKS.txt.new && \
+mv THANKS.txt.new THANKS.txt
+popd
+
+# remove gem "test-unit" line
+sed -i -e '/test-unit/, 1d' %{buildroot}%{gem_instdir}/test/common.rb
+
+%check
+
+pushd %{buildroot}%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+# requires newer version of mocha (>= 0.13.3)
+# ruby -Ilib -Itest test/test_all.rb
+%{?scl:"}
+popd
+
+
+%files
+%defattr(-, root, root, -)
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_instdir}/support
+%exclude %{gem_instdir}/setup.rb
+%doc %{gem_instdir}/README.rdoc
+%doc %{gem_instdir}/THANKS.txt
+%doc %{gem_instdir}/CHANGES.txt
+%doc %{gem_instdir}/LICENSE.txt
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%defattr(-, root, root, -)
+%{gem_docdir}
+%{gem_instdir}/Manifest
+%{gem_instdir}/Rakefile
+%{gem_instdir}/Rudyfile
+%{gem_instdir}/test
+# Required to run tests
+%{gem_instdir}/net-ssh.gemspec
+%{gem_instdir}/gem-public_cert.pem
+
+%changelog
+* Fri May 03 2013 Ivan Necas <inecas@redhat.com> 2.6.7-1
+- Update due to new fog dependency (inecas@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 2.2.1-5
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jan 31 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.2.1-3
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sun Dec 04 2011 Shreyank Gupta <sgupta@redhat.com> - 2.2.1-1
+- Updated to version 2.2.1-1
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.23-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Tue Aug 24 2010 Adam Tkac <atkac redhat com> - 2.0.23-5
+- rebuild to ensure F14 has higher NVR than F13
+
+* Fri Jun 11 2010 Shreyank Gupta <sgupta@redhat.com> - 2.0.23-4
+- Bring back the BR: rubygem(rake) and rake test
+
+* Thu Jun 10 2010 Shreyank Gupta <sgupta@redhat.com> - 2.0.23-3
+- test command from test/README.txt
+- Remove gem "test-unit" line
+- Removed Requires rubygem(rake)
+- BuildRequires/Requires: rubygem(mocha) for tests
+
+* Thu Jun 10 2010 Shreyank Gupta <sgupta@redhat.com> - 2.0.23-2
+- Using %%exclude for setup.rb
+- Keeping net-ssh.gemspec for tests
+- Moved file-not-utf8 correction to before %%check section
+
+* Wed Jun 09 2010 Shreyank Gupta <sgupta@redhat.com> - 2.0.23-1
+- Initial package
diff --git a/rubygem-nokogiri/nokogiri-1.5.11.gem b/rubygem-nokogiri/nokogiri-1.5.11.gem
new file mode 120000
index 000000000..3dfdf85c7
--- /dev/null
+++ b/rubygem-nokogiri/nokogiri-1.5.11.gem
@@ -0,0 +1 @@
+../.git/annex/objects/kz/V0/SHA256E-s222208--578a5bcd184851893fc9818f79a9ff9b19568481b136d5e70178fd0f3b2f6ac8.11.gem/SHA256E-s222208--578a5bcd184851893fc9818f79a9ff9b19568481b136d5e70178fd0f3b2f6ac8.11.gem
\ No newline at end of file
diff --git a/rubygem-nokogiri/rubygem-nokogiri-1.5.0-allow-non-crosscompile.patch b/rubygem-nokogiri/rubygem-nokogiri-1.5.0-allow-non-crosscompile.patch
new file mode 100644
index 000000000..f45734b08
--- /dev/null
+++ b/rubygem-nokogiri/rubygem-nokogiri-1.5.0-allow-non-crosscompile.patch
@@ -0,0 +1,26 @@
+--- nokogiri-1.5.0/Rakefile.debug	2012-01-18 16:23:02.472224272 +0900
++++ nokogiri-1.5.0/Rakefile	2012-01-18 16:23:29.935430496 +0900
+@@ -83,14 +83,21 @@
+     HOE.spec.files += ['lib/nokogiri/nokogiri.jar']
+   end
+ else
+-  require 'tasks/cross_compile'
++  do_cross_compile = true
++  begin
++    require 'tasks/cross_compile'
++  rescue RuntimeError => e
++    warn "WARNING: Could not perform some cross-compiling: #{e}"
++    do_cross_compile = false
++  end
+   require "rake/extensiontask"
+ 
+-  HOE.spec.files.reject! { |f| f =~ %r{^ext/java|\.jar$} }
++  HOE.spec.files.reject! { |f| f =~ %r{^ext/java|\.jar$} } if do_cross_compile
+ 
+   Rake::ExtensionTask.new("nokogiri", HOE.spec) do |ext|
+     ext.lib_dir = File.join(*['lib', 'nokogiri', ENV['FAT_DIR']].compact)
+     ext.config_options << ENV['EXTOPTS']
++    next unless do_cross_compile
+     ext.cross_compile  = true
+     ext.cross_platform = ["x86-mswin32-60", "x86-mingw32"]
+     ext.cross_config_options << "--with-xml2-include=#{File.join($recipes[:libxml2].path, 'include', 'libxml2')}"
diff --git a/rubygem-nokogiri/rubygem-nokogiri.spec b/rubygem-nokogiri/rubygem-nokogiri.spec
new file mode 100644
index 000000000..c40c22c02
--- /dev/null
+++ b/rubygem-nokogiri/rubygem-nokogiri.spec
@@ -0,0 +1,441 @@
+%{?scl:%scl_package rubygem-%{gemname}}
+%{!?scl:%global pkg_name %{name}}
+
+%global	mainver		1.5.11
+#%%global	prever			.beta.4
+
+%global	mainrel		1
+%global	prerpmver		%(echo "%{?prever}" | sed -e 's|\\.||g')
+
+%global	gemdir			%(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
+%global	gemname		nokogiri
+%global	geminstdir		%{gemdir}/gems/%{gemname}-%{mainver}%{?prever}
+
+%global	ruby19		1
+%global	rubyabi		1.9.1
+%global	gemdir		%{gem_dir}
+%global	geminstdir	%{gem_instdir}
+%global	gemsodir	%{gem_extdir}/lib
+%global	gem_name	%{gemname}
+
+# Note for packager:
+# Nokogiri 1.4.3.1 gem says that Nokogiri upstream will
+# no longer support ruby 1.8.6 after 2010-08-01, so
+# it seems that 1.4.3.1 is the last version for F-13 and below.
+
+Summary:	An HTML, XML, SAX, and Reader parser
+Name:		%{?scl_prefix}rubygem-%{gemname}
+Version:	%{mainver}
+Release:  1%{?dist}
+Group:		Development/Languages
+License:	MIT
+URL:		http://nokogiri.rubyforge.org/nokogiri/
+Source0:	http://gems.rubyforge.org/gems/%{gemname}-%{mainver}%{?prever}.gem
+# ./test/html/test_element_description.rb:62 fails, as usual......
+# Patch0:		rubygem-nokogiri-1.5.0.beta3-test-failure.patch
+#Patch0:		rubygem-nokogiri-1.5.0-allow-non-crosscompile.patch
+BuildRequires:	%{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires:	%{?scl_prefix}ruby(rubygems)
+##
+## For %%check
+BuildRequires:	%{?scl_prefix}rubygem(minitest)
+BuildRequires:	%{?scl_prefix}rubygems-devel
+%if 0%{?ruby19} > 0
+Obsoletes:		%{?scl_prefix}ruby-%{gemname} <= 1.5.2-2
+%endif
+#BuildRequires:	%{?scl_prefix}ruby(racc)
+##
+## Others
+BuildRequires:	libxml2-devel
+BuildRequires:	libxslt-devel
+BuildRequires:	%{?scl_prefix}ruby-devel
+Requires:	%{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires:	%{?scl_prefix}ruby(rubygems)
+Provides:	%{?scl_prefix}rubygem(%{gemname}) = %{version}-%{release}
+
+%description
+Nokogiri parses and searches XML/HTML very quickly, and also has
+correctly implemented CSS3 selector support as well as XPath support.
+
+Nokogiri also features an Hpricot compatibility layer to help ease the change
+to using correct CSS and XPath.
+
+%if 0
+%package	jruby
+Summary:	JRuby support for %{pkg_name}
+Group:		Development/Languages
+Requires:	%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description	jruby
+This package contains JRuby support for %{pkg_name}.
+%endif
+
+
+%package	doc
+Summary:	Documentation for %{pkg_name}
+Group:		Documentation
+Requires:	%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description	doc
+This package contains documentation for %{pkg_name}.
+
+%package	-n %{?scl_prefix}ruby-%{gemname}
+Summary:	Non-Gem support package for %{gemname}
+Group:		Development/Languages
+Requires:	%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Provides:	%{?scl_prefix}ruby(%{gemname}) = %{version}-%{release}
+
+%description	-n %{?scl_prefix}ruby-%{gemname}
+This package provides non-Gem support for %{gemname}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -T -c
+
+# Gem repack
+mkdir tmpunpackdir
+pushd tmpunpackdir
+
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+cd %{gem_name}-%{version}
+
+# patches
+#%%patch0 -p1
+
+%{?scl:scl enable %{scl} "}
+gem specification -l --ruby %{SOURCE0} > %{gem_name}.gemspec
+%{?scl:"}
+
+popd
+
+%build
+TOPDIR=$(pwd)
+pushd tmpunpackdir/%{gem_name}-%{version}
+# Ummm...
+%{?scl:scl enable %{scl} "}
+env LANG=ja_JP.UTF-8 gem build %{gem_name}.gemspec
+%{?scl:"}
+mv %{gem_name}-%{version}.gem $TOPDIR
+
+popd
+rm -rf tmpunpackdir
+
+mkdir -p ./%{gemdir}
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+%{?scl:scl enable %{scl} "}
+gem install \
+	--local \
+	--install-dir ./%{gemdir} \
+	-V --force \
+	%{gem_name}-%{version}.gem
+%{?scl:"}
+
+
+# Permission
+chmod 0644 .%{gemdir}/cache/%{gemname}-%{mainver}%{?prever}.gem
+
+# Remove precompiled Java .jar file
+rm -f .%{geminstdir}/lib/*.jar
+# For now remove JRuby support
+rm -rf .%{geminstdir}/ext/java
+
+
+%install
+mkdir -p %{buildroot}%{gemdir}
+cp -a ./%{gemdir}/* %{buildroot}%{gemdir}
+
+# Remove backup file
+find %{buildroot} -name \*.orig_\* | xargs rm -vf
+
+# move arch dependent files to %%gem_extdir
+mkdir -p %{buildroot}%{gemsodir}/%{gemname}
+mv %{buildroot}%{geminstdir}/lib/%{gemname}/*.so \
+	%{buildroot}%{gemsodir}/%{gemname}/
+
+# move bin/ files
+mkdir -p %{buildroot}%{_prefix}
+mv -f %{buildroot}%{gemdir}/bin %{buildroot}%{_prefix}
+
+# remove all shebang
+for f in $(find %{buildroot}%{geminstdir} -name \*.rb)
+do
+	sed -i -e '/^#!/d' $f
+	chmod 0644 $f
+done
+
+# cleanups
+rm -rf %{buildroot}%{geminstdir}/ext/%{gemname}/
+rm -rf %{buildroot}%{geminstdir}/tmp/
+rm -f %{buildroot}%{geminstdir}/{.autotest,.require_paths,.gemtest}
+rm -f %{buildroot}%{geminstdir}/{build_all,test_all}
+
+%if 0%{?ruby19} < 1
+# The following method is completely copied from rubygem-gettext
+# spec file
+#
+# Create symlinks
+##
+## Note that before switching to gem %%{ruby_sitelib}/%%{gemname}
+## already existed as a directory, so this cannot be replaced
+## by symlink (cpio fails)
+## Similarly, all directories under %%{ruby_sitelib} cannot be
+## replaced by symlink
+#
+
+create_symlink_rec(){
+
+ORIGBASEDIR=$1
+TARGETBASEDIR=$2
+
+## First calculate relative path of ORIGBASEDIR 
+## from TARGETBASEDIR
+TMPDIR=$TARGETBASEDIR
+BACKDIR=
+DOWNDIR=
+num=0
+nnum=0
+while true
+do
+	num=$((num+1))
+	TMPDIR=$(echo $TMPDIR | sed -e 's|/[^/][^/]*$||')
+	DOWNDIR=$(echo $ORIGBASEDIR | sed -e "s|^$TMPDIR||")
+	if [ x$DOWNDIR != x$ORIGBASEDIR ]
+	then
+		nnum=0
+		while [ $nnum -lt $num ]
+		do
+			BACKDIR="../$BACKDIR"
+			nnum=$((nnum+1))
+		done
+		break
+	fi
+done
+
+RELBASEDIR=$( echo $BACKDIR/$DOWNDIR | sed -e 's|//*|/|g' )
+
+## Next actually create symlink
+pushd %{buildroot}/$ORIGBASEDIR
+find . -type f | while read f
+do
+	DIRNAME=$(dirname $f)
+	BACK2DIR=$(echo $DIRNAME | sed -e 's|/[^/][^/]*|/..|g')
+	mkdir -p %{buildroot}${TARGETBASEDIR}/$DIRNAME
+	LNNAME=$(echo $BACK2DIR/$RELBASEDIR/$f | \
+		sed -e 's|^\./||' | sed -e 's|//|/|g' | \
+		sed -e 's|/\./|/|' )
+	ln -s -f $LNNAME %{buildroot}${TARGETBASEDIR}/$f
+done
+popd
+
+}
+
+create_symlink_rec %{geminstdir}/lib %{ruby_sitelib}
+%endif
+
+
+%check
+# Ah....
+# test_exslt(TestXsltTransforms) [./test/test_xslt_transforms.rb:93]
+# fails without TZ on sparc
+export TZ="Asia/Tokyo"
+#???
+%if 0%{?ruby19} > 0
+LANG=ja_JP.UTF-8
+%endif
+
+pushd ./%{geminstdir}
+# Some files are missing and due to it some tests fail, skip
+SKIPTEST="test/xml/test_xinclude.rb"
+for f in $SKIPTEST
+do
+	mv $f $f.skip
+done
+
+# Observed fail on test_subclass_parse(Nokogiri::XML::TestDocument)
+# Need investigation. For now anyway build
+%{?scl:scl enable %{scl} "}
+ruby -I.:lib:test \
+%if ! 0%{?ruby19} < 1
+%{?scl:"}
+	-rubygems \
+%endif
+	-e \
+	"require 'minitest/autorun' ; Dir.glob('test/**/test_*.rb'){|f| require f}" || \
+	echo "Please investigate this"
+
+for f in $SKIPTEST
+do
+	mv $f.skip $f
+done
+
+popd
+
+%files
+%defattr(-,root, root,-)
+%{_bindir}/%{gemname}
+%if 0%{?ruby19} < 1
+%{ruby_sitearch}/%{gemname}
+%else
+%{gem_extdir}/
+%endif
+%dir	%{geminstdir}/
+%doc	%{geminstdir}/[A-Z]*
+#%%doc	%{geminstdir}/nokogiri_help_responses.md
+%exclude %{geminstdir}/Rakefile
+%{geminstdir}/bin/
+%{geminstdir}/lib/
+%{gemdir}/cache/%{gemname}-%{mainver}%{?prever}.gem
+%{gemdir}/specifications/%{gemname}-%{mainver}%{?prever}.gemspec
+
+%if 0
+%files	jruby
+%defattr(-,root,root,-)
+%{geminstdir}/ext/java/
+%endif
+
+%files	doc
+%defattr(-,root,root,-)
+%{geminstdir}/Rakefile
+#%%{geminstdir}/deps.rip
+#%%{geminstdir}/spec/
+%{geminstdir}/tasks/
+%{geminstdir}/test/
+%{gemdir}/doc/%{gemname}-%{mainver}%{?prever}/
+
+%if 0%{?ruby19} < 1
+%files	-n %{?scl_prefix}ruby-%{gemname}
+%defattr(-,root,root,-)
+%{ruby_sitelib}/*%{gemname}.rb
+%{ruby_sitelib}/%{gemname}/
+%{ruby_sitelib}/xsd/
+%endif
+
+%changelog
+* Tue Mar 11 2014 Dominic Cleal <dcleal@redhat.com> 1.5.11-1
+- Update to v1.5.11 (dcleal@redhat.com)
+
+* Fri Feb 21 2014 Jason Montleon <jmontleo@redhat.com> 1.5.6-9
+- additional work for moving gem build to %%build (jmontleo@redhat.com)
+- gem build to %%build to adhere to packaging guidelines (jmontleo@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Fri Mar 08 2013 Lukas Zapletal <lzap+git@redhat.com> 1.5.6-7
+- fixing ruby193 scl package (lzap+git@redhat.com)
+
+* Fri Mar 08 2013 Lukas Zapletal <lzap+git@redhat.com> 1.5.6-6
+- fixing ruby193 scl package (lzap+git@redhat.com)
+
+* Fri Mar 08 2013 Lukas Zapletal <lzap+git@redhat.com> 1.5.6-5
+- fixing ruby193 scl package (lzap+git@redhat.com)
+- fixing ruby193 scl package (lzap+git@redhat.com)
+
+* Thu Mar 07 2013 Lukas Zapletal <lzap+git@redhat.com> 1.5.6-1.2
+- fixing ruby193 scl package (lzap+git@redhat.com)
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.6-1.2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Tue Jan  1 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.5.6-1
+- A Happy New Year
+- 1.5.6
+
+* Fri Aug 17 2012 Vít Ondruch <vondruch@redhat.com> - 1.5.5-2
+- Rebuilt againts libxml2 2.9.
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.5-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Jun 25 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.5-1
+- 1.5.5
+
+* Mon May 28 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.2-3
+- Fix Obsoletes (bug 822931)
+
+* Mon Apr  9 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.2-1
+- 1.5.2
+
+* Tue Apr 03 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.5.0-3
+- Fix conditionals for F17 to work for RHEL 7 as well.
+
+* Tue Jan 24 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.0-2
+- F-17: rebuild for ruby19
+- For now aviod build failure by touching some files
+
+* Thu Jan 18 2012 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.0-1
+- 1.5.0
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-0.5.beta4.1
+- F-17: Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sun Jun 26 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.0-0.5.beta4
+- Remove unneeded patch
+
+* Thu Mar 18 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 1.5.0-0.4.beta4
+- Patch for newer rake to make testsuite run
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-0.3.beta4.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sun Jan 30 2011 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.5.0-0.3.beta4
+- 1.5.0.beta.4
+
+* Tue Dec  7 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.5.0-0.2.beta3
+- 1.5.0.beta.3
+
+* Sun Oct 17 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.5.0-0.1.beta2
+- Try 1.5.0.beta.2
+
+* Fri Jul 30 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.3.1-1
+- 1.4.3.1
+
+* Wed May 26 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.2-1
+- 1.4.2
+
+* Thu Apr 29 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.1-2
+- Fix build failure with libxml2 >= 2.7.7
+
+* Tue Dec 15 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.1-1
+- 1.4.1
+
+* Mon Nov  9 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.0-1
+- 1.4.0
+
+* Sat Aug 22 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.3.3-2
+- Fix test failure on sparc
+
+* Wed Jul 29 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.3.3-1
+- 1.3.3
+
+* Sat Jul 25 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.3.2-3
+- F-12: Mass rebuild
+
+* Thu Jul  2 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.3.2-2
+- Enable test
+- Recompile with -O2
+
+* Thu Jun 25 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.3.2-1
+- 1.3.2
+
+* Thu Jun 11 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.3.1-1
+- 1.3.1
+
+* Thu Mar 26 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.2.3-1
+- 1.2.3
+
+* Thu Mar 19 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.2.2-1
+- 1.2.2
+
+* Thu Mar 12 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.2.1-1
+- 1.2.1
+
+* Tue Feb 24 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.1.1-2
+- F-11: Mass rebuild
+
+* Thu Jan 15 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.1.1-1
+- 1.1.1
+
+* Thu Dec 25 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.1.0-1
+- Initial packaging
+
diff --git a/rubygem-passenger/apache-passenger.conf.in b/rubygem-passenger/apache-passenger.conf.in
new file mode 100644
index 000000000..a9d308e05
--- /dev/null
+++ b/rubygem-passenger/apache-passenger.conf.in
@@ -0,0 +1,19 @@
+LoadModule passenger_module modules/mod_passenger.so
+<IfModule mod_passenger.c>
+   PassengerRoot @PASSENGERROOT@
+   PassengerRuby @BINDIR@/ruby
+</IfModule>
+
+# Deploying a Ruby on Rails application: an example
+
+# Suppose you have a Rails application in /somewhere. Add a virtual host to
+# your Apache configuration file and set its DocumentRoot to /somewhere/public:
+#
+#    <VirtualHost *:80>
+#       ServerName www.yourhost.com
+#       DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
+#       <Directory /somewhere/public>
+#          AllowOverride all              # <-- relax Apache security settings
+#          Options -MultiViews            # <-- MultiViews must be turned off
+#       </Directory>
+#    </VirtualHost>
diff --git a/rubygem-passenger/locations.ini b/rubygem-passenger/locations.ini
new file mode 100644
index 000000000..818a3605e
--- /dev/null
+++ b/rubygem-passenger/locations.ini
@@ -0,0 +1,13 @@
+[locations]
+natively_packaged=true
+bin_dir=@BINDIR@
+agents_dir=@GEM_EXTDIR@/agents
+helper_scripts_dir=@GEM_INSTDIR@/helper-scripts
+resources_dir=@GEM_INSTDIR@/resources
+doc_dir=@GEM_DOCDIR@
+ruby_libdir=@GEM_INSTDIR@/lib
+lib_dir=@GEM_INSTDIR@/lib
+include_dir=@GEM_INSTDIR@/include
+apache2_module_path=@HTTPD_MODDIR@
+ruby_extension_source_dir=@GEM_INSTDIR@/ruby_extension_source
+nginx_module_source_dir=@GEM_INSTDIR@/ngx_http_passenger_module
diff --git a/rubygem-passenger/passenger.logrotate b/rubygem-passenger/passenger.logrotate
new file mode 100644
index 000000000..3f87d94ec
--- /dev/null
+++ b/rubygem-passenger/passenger.logrotate
@@ -0,0 +1,7 @@
+$localstatedir/log/passenger-analytics/*.log {
+    missingok
+    notifempty
+    sharedscripts
+    compress
+    delaycompress
+}
diff --git a/rubygem-passenger/passenger_dynamic_thread_group.patch b/rubygem-passenger/passenger_dynamic_thread_group.patch
new file mode 100644
index 000000000..134a3045c
--- /dev/null
+++ b/rubygem-passenger/passenger_dynamic_thread_group.patch
@@ -0,0 +1,16 @@
+diff --git a/test/oxt/dynamic_thread_group_test.cpp b/test/oxt/dynamic_thread_group_test.cpp
+index 003b7ef..5a90463 100644
+--- a/test/oxt/dynamic_thread_group_test.cpp
++++ b/test/oxt/dynamic_thread_group_test.cpp
+@@ -103,9 +103,9 @@ namespace tut {
+ 	}
+ 	
+ 	static void create_threads(dynamic_thread_group *group) {
+-		for (int i = 1000; i >= 0; i--) {
++		for (int i = 100; i >= 0; i--) {
+ 			boost::function<void ()> f(boost::bind(do_nothing, i * 1000));
+-			group->create_thread(f, "", 256 * 1024);
++			group->create_thread(f, "", 8 * 1024);
+ 		}
+ 	}
+ 	
diff --git a/rubygem-passenger/passenger_tests_default_config_example.patch b/rubygem-passenger/passenger_tests_default_config_example.patch
new file mode 100644
index 000000000..06153034a
--- /dev/null
+++ b/rubygem-passenger/passenger_tests_default_config_example.patch
@@ -0,0 +1,44 @@
+diff -up ./test/config.json.example.lindefault ./test/config.json.example
+--- ./test/config.json.example.lindefault	2013-05-30 16:04:41.206533618 +0200
++++ ./test/config.json.example	2013-05-30 16:04:34.070449358 +0200
+@@ -10,24 +10,24 @@
+   // otherwise the tests will fail.
+ 
+   //// Good values for OS X:
+-  "normal_user_1": "_www",
+-  "normal_user_2": "daemon",
+-  // Must not be "nobody".
+-  "default_user": "_sandbox",
+-  // Must not be normal_user_1's primary group.
+-  "normal_group_1": "daemon",
+-  // Must not be normal_user_2's primary group.
+-  "normal_group_2": "_sandbox",
+-  // Must not be default_user's primary group. Must not be "nobody".
+-  "default_group": "_www",
+-
+-  ///// Good values for Linux and FreeBSD. Same restrictions apply.
+-  //"normal_user_1": "games",
++  //"normal_user_1": "_www",
+   //"normal_user_2": "daemon",
+-  //"default_user": "man",
++  //// Must not be "nobody".
++  //"default_user": "_sandbox",
++  //// Must not be normal_user_1's primary group.
+   //"normal_group_1": "daemon",
+-  //"normal_group_2": "man",
+-  //"default_group": "games",
++  //// Must not be normal_user_2's primary group.
++  //"normal_group_2": "_sandbox",
++  //// Must not be default_user's primary group. Must not be "nobody".
++  //"default_group": "_www",
++
++  ///// Good values for Linux and FreeBSD. Same restrictions apply.
++  "normal_user_1": "games",
++  "normal_user_2": "daemon",
++  "default_user": "man",
++  "normal_group_1": "daemon",
++  "normal_group_2": "man",
++  "default_group": "games",
+ 
+   // A nonexistant username, group name, user ID and group ID.
+   "nonexistant_user": "xxxxxxxxxxxxxxxxxxx",
diff --git a/rubygem-passenger/release-4.0.18.tar.gz b/rubygem-passenger/release-4.0.18.tar.gz
new file mode 120000
index 000000000..8794f5c91
--- /dev/null
+++ b/rubygem-passenger/release-4.0.18.tar.gz
@@ -0,0 +1 @@
+../.git/annex/objects/xM/qk/SHA256E-s3542204--35aab69814bd5a0f601101858fd0d852d785aa7e6dc703efe6b4d789392c7e67.tar.gz/SHA256E-s3542204--35aab69814bd5a0f601101858fd0d852d785aa7e6dc703efe6b4d789392c7e67.tar.gz
\ No newline at end of file
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18-CVE-2014-1832.patch b/rubygem-passenger/rubygem-passenger-4.0.18-CVE-2014-1832.patch
new file mode 100644
index 000000000..9b2430f06
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18-CVE-2014-1832.patch
@@ -0,0 +1,155 @@
+From 94428057c602da3d6d34ef75c78091066ecac5c0 Mon Sep 17 00:00:00 2001
+From: "Hongli Lai (Phusion)" <hongli@phusion.nl>
+Date: Wed, 29 Jan 2014 14:19:25 +0100
+Subject: [PATCH] Fix a symlink-related security vulnerability.
+
+The fix in commit 34b10878 and contained a small attack time window in
+between two filesystem operations. This has been fixed.
+---
+ NEWS                           | 18 ++++++++++++++++++
+ ext/common/ServerInstanceDir.h | 38 ++++++++++++++++++++++----------------
+ ext/common/Utils.cpp           | 29 -----------------------------
+ ext/common/Utils.h             |  6 ------
+ 4 files changed, 40 insertions(+), 51 deletions(-)
+
+diff --git a/ext/common/ServerInstanceDir.h b/ext/common/ServerInstanceDir.h
+index 8da3cf3..1315de5 100644
+--- a/ext/common/ServerInstanceDir.h
++++ b/ext/common/ServerInstanceDir.h
+@@ -1,6 +1,6 @@
+ /*
+  *  Phusion Passenger - https://www.phusionpassenger.com/
+- *  Copyright (c) 2010-2013 Phusion
++ *  Copyright (c) 2010-2014 Phusion
+  *
+  *  "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
+  *
+@@ -193,6 +193,9 @@ class ServerInstanceDir: public noncopyable {
+ 	
+ 	void initialize(const string &path, bool owner) {
+ 		TRACE_POINT();
++		struct stat buf;
++		int ret;
++
+ 		this->path  = path;
+ 		this->owner = owner;
+ 		
+@@ -212,18 +215,25 @@ class ServerInstanceDir: public noncopyable {
+ 		 * rights though, because we want admin tools to be able to list the available
+ 		 * generations no matter what user they're running as.
+ 		 */
++
++		do {
++			ret = lstat(path.c_str(), &buf);
++		} while (ret == -1 && errno == EAGAIN);
+ 		if (owner) {
+-			switch (getFileTypeNoFollowSymlinks(path)) {
+-			case FT_NONEXISTANT:
++			if (ret == 0) {
++				if (S_ISDIR(buf.st_mode)) {
++					verifyDirectoryPermissions(path, buf);
++				} else {
++					throw RuntimeException("'" + path + "' already exists, and is not a directory");
++				}
++			} else if (errno == ENOENT) {
+ 				createDirectory(path);
+-				break;
+-			case FT_DIRECTORY:
+-				verifyDirectoryPermissions(path);
+-				break;
+-			default:
+-				throw RuntimeException("'" + path + "' already exists, and is not a directory");
++			} else {
++				int e = errno;
++				throw FileSystemException("Cannot lstat '" + path + "'",
++					e, path);
+ 			}
+-		} else if (getFileType(path) != FT_DIRECTORY) {
++		} else if (!S_ISDIR(buf.st_mode)) {
+ 			throw RuntimeException("Server instance directory '" + path +
+ 				"' does not exist");
+ 		}
+@@ -259,14 +269,10 @@ class ServerInstanceDir: public noncopyable {
+ 	 * so that an attacker cannot pre-create a directory with too liberal
+ 	 * permissions.
+ 	 */
+-	void verifyDirectoryPermissions(const string &path) {
++	void verifyDirectoryPermissions(const string &path, struct stat &buf) {
+ 		TRACE_POINT();
+-		struct stat buf;
+ 
+-		if (stat(path.c_str(), &buf) == -1) {
+-			int e = errno;
+-			throw FileSystemException("Cannot stat() " + path, e, path);
+-		} else if (buf.st_mode != (S_IFDIR | parseModeString("u=rwx,g=rx,o=rx"))) {
++		if (buf.st_mode != (S_IFDIR | parseModeString("u=rwx,g=rx,o=rx"))) {
+ 			throw RuntimeException("Tried to reuse existing server instance directory " +
+ 				path + ", but it has wrong permissions");
+ 		} else if (buf.st_uid != geteuid() || buf.st_gid != getegid()) {
+diff --git a/ext/common/Utils.cpp b/ext/common/Utils.cpp
+index d1db8d6..1f3dec5 100644
+--- a/ext/common/Utils.cpp
++++ b/ext/common/Utils.cpp
+@@ -143,35 +143,6 @@
+ 	}
+ }
+ 
+-FileType
+-getFileTypeNoFollowSymlinks(const StaticString &filename) {
+-	struct stat buf;
+-	int ret;
+-	
+-	ret = lstat(filename.c_str(), &buf);
+-	if (ret == 0) {
+-		if (S_ISREG(buf.st_mode)) {
+-			return FT_REGULAR;
+-		} else if (S_ISDIR(buf.st_mode)) {
+-			return FT_DIRECTORY;
+-		} else if (S_ISLNK(buf.st_mode)) {
+-			return FT_SYMLINK;
+-		} else {
+-			return FT_OTHER;
+-		}
+-	} else {
+-		if (errno == ENOENT) {
+-			return FT_NONEXISTANT;
+-		} else {
+-			int e = errno;
+-			string message("Cannot lstat '");
+-			message.append(filename);
+-			message.append("'");
+-			throw FileSystemException(message, e, filename);
+-		}
+-	}
+-}
+-
+ void
+ createFile(const string &filename, const StaticString &contents, mode_t permissions, uid_t owner,
+ 	gid_t group, bool overwrite)
+diff --git a/ext/common/Utils.h b/ext/common/Utils.h
+index 5cfaf92..a04e507 100644
+--- a/ext/common/Utils.h
++++ b/ext/common/Utils.h
+@@ -65,8 +65,6 @@
+ 	FT_REGULAR,
+ 	/** A directory. */
+ 	FT_DIRECTORY,
+-	/** A symlink. Only returned by getFileTypeNoFollowSymlinks(), not by getFileType(). */
+-	FT_SYMLINK,
+ 	/** Something else, e.g. a pipe or a socket. */
+ 	FT_OTHER
+ } FileType;
+@@ -123,10 +121,6 @@ bool fileExists(const StaticString &filename, CachedFileStat *cstat = 0,
+  */
+ FileType getFileType(const StaticString &filename, CachedFileStat *cstat = 0,
+                      unsigned int throttleRate = 0);
+-/**
+- * Like getFileType(), but does not follow symlinks.
+- */
+-FileType getFileTypeNoFollowSymlinks(const StaticString &filename);
+ 
+ /**
+  * Create the given file with the given contents, permissions and ownership.
+-- 
+1.8.5.1
+
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch b/rubygem-passenger/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch
new file mode 100644
index 000000000..cb76bdffc
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch
@@ -0,0 +1,21 @@
+diff -urp passenger-release-4.0.18.orig/ext/boost/cstdint.hpp passenger-release-4.0.18/ext/boost/cstdint.hpp
+--- passenger-release-4.0.18.orig/ext/boost/cstdint.hpp	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/ext/boost/cstdint.hpp	2013-09-23 16:34:02.074450639 -0500
+@@ -41,7 +41,15 @@
+ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
+ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
+ //
+-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
++// This define has been dropped altogether in GLIBC 2.17.  As of then,
++// support for long long is part of baseline requirements, and
++// [u]int64_t is always defined.  See here:
++// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
++//
++#if defined(BOOST_HAS_STDINT_H)					\
++  && (!defined(__GLIBC__)					\
++      || defined(__GLIBC_HAVE_LONG_LONG)			\
++      || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
+ 
+ // The following #include is an implementation artifact; not part of interface.
+ # ifdef __hpux
+Only in passenger-release-4.0.18/ext/boost: cstdint.hpp.glibc-long
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18-correct_docs.patch b/rubygem-passenger/rubygem-passenger-4.0.18-correct_docs.patch
new file mode 100644
index 000000000..dd98a5b38
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18-correct_docs.patch
@@ -0,0 +1,12 @@
+diff -urp passenger-release-4.0.18.orig/lib/phusion_passenger/packaging.rb passenger-release-4.0.18/lib/phusion_passenger/packaging.rb
+--- passenger-release-4.0.18.orig/lib/phusion_passenger/packaging.rb	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/lib/phusion_passenger/packaging.rb	2013-09-24 14:42:54.126310781 -0500
+@@ -36,7 +36,7 @@ module Packaging
+ 	# Files that must be generated before packaging.
+ 	PREGENERATED_FILES = [
+ 		'ext/common/Constants.h',
+-		'doc/Packaging.html'
++		'doc/Packaging.txt.md'
+ 	] + ASCII_DOCS
+ 	
+ 	USER_EXECUTABLES = [
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18-daemon-controller.patch b/rubygem-passenger/rubygem-passenger-4.0.18-daemon-controller.patch
new file mode 100644
index 000000000..d8865dbf3
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18-daemon-controller.patch
@@ -0,0 +1,13 @@
+diff --git a/passenger.gemspec b/passenger.gemspec
+index f7de823..688e757 100644
+--- a/passenger.gemspec
++++ b/passenger.gemspec
+@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
+ 	s.email = "software-signing@phusion.nl"
+ 	s.require_paths = ["lib"]
+ 	s.add_dependency 'rake', '>= 0.8.1'
+-	s.add_dependency 'daemon_controller', '>= 1.1.0'
++#	s.add_dependency 'daemon_controller', '>= 1.1.0'
+ 	s.add_dependency 'rack'
+ 	s.files = Dir[*PhusionPassenger::Packaging::GLOB] -
+ 		Dir[*PhusionPassenger::Packaging::EXCLUDE_GLOB]
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch b/rubygem-passenger/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch
new file mode 100644
index 000000000..2be2151de
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch
@@ -0,0 +1,45 @@
+diff -urp passenger-release-4.0.18.orig/ext/common/EventedMessageServer.h passenger-release-4.0.18/ext/common/EventedMessageServer.h
+--- passenger-release-4.0.18.orig/ext/common/EventedMessageServer.h	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/ext/common/EventedMessageServer.h	2013-09-23 13:59:23.012484647 -0500
+@@ -27,6 +27,7 @@
+ 
+ #include <boost/shared_ptr.hpp>
+ #include <ev++.h>
++#include <sys/types.h>
+ #include <cstdarg>
+ #include <cstdlib>
+ #include <EventedServer.h>
+diff -urp passenger-release-4.0.18.orig/ext/common/FileDescriptor.h passenger-release-4.0.18/ext/common/FileDescriptor.h
+--- passenger-release-4.0.18.orig/ext/common/FileDescriptor.h	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/ext/common/FileDescriptor.h	2013-09-23 13:59:23.013484647 -0500
+@@ -30,6 +30,7 @@
+ #include <oxt/system_calls.hpp>
+ 
+ #include <utility>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <cerrno>
+ 
+diff -urp passenger-release-4.0.18.orig/ext/common/Utils/BufferedIO.h passenger-release-4.0.18/ext/common/Utils/BufferedIO.h
+--- passenger-release-4.0.18.orig/ext/common/Utils/BufferedIO.h	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/ext/common/Utils/BufferedIO.h	2013-09-23 13:59:23.014484646 -0500
+@@ -1,6 +1,7 @@
+ #ifndef _PASSENGER_BUFFERED_IO_H_
+ #define _PASSENGER_BUFFERED_IO_H_
+ 
++#include <sys/types.h>
+ #include <string>
+ #include <utility>
+ #include <algorithm>
+diff -urp passenger-release-4.0.18.orig/ext/common/Utils/StreamBoyerMooreHorspool.h passenger-release-4.0.18/ext/common/Utils/StreamBoyerMooreHorspool.h
+--- passenger-release-4.0.18.orig/ext/common/Utils/StreamBoyerMooreHorspool.h	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/ext/common/Utils/StreamBoyerMooreHorspool.h	2013-09-23 13:59:23.015484645 -0500
+@@ -189,7 +189,7 @@
+ 	#endif
+ #endif
+ 
+-
++#include <sys/types.h>
+ #include <cstddef>
+ #include <cstring>
+ #include <cassert>
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18-tmpsymlink.patch b/rubygem-passenger/rubygem-passenger-4.0.18-tmpsymlink.patch
new file mode 100644
index 000000000..a0b461e21
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18-tmpsymlink.patch
@@ -0,0 +1,102 @@
+From 34b1087870c2bf85ebfd72c30b78577e10ab9744 Mon Sep 17 00:00:00 2001
+From: "Hongli Lai (Phusion)" <hongli@phusion.nl>
+Date: Tue, 28 Jan 2014 19:17:39 +0100
+Subject: [PATCH] Fix low-urgency security vulnerability: writing files to
+ arbitrary directory by hijacking temp directories.
+
+---
+ NEWS                           | 30 ++++++++++++++++++++++++++++++
+ ext/common/ServerInstanceDir.h |  2 +-
+ ext/common/Utils.cpp           | 29 +++++++++++++++++++++++++++++
+ ext/common/Utils.h             |  8 +++++++-
+ 4 files changed, 67 insertions(+), 2 deletions(-)
+
+diff --git a/ext/common/ServerInstanceDir.h b/ext/common/ServerInstanceDir.h
+index 136437a..8da3cf3 100644
+--- a/ext/common/ServerInstanceDir.h
++++ b/ext/common/ServerInstanceDir.h
+@@ -213,7 +213,7 @@ class ServerInstanceDir: public noncopyable {
+ 		 * generations no matter what user they're running as.
+ 		 */
+ 		if (owner) {
+-			switch (getFileType(path)) {
++			switch (getFileTypeNoFollowSymlinks(path)) {
+ 			case FT_NONEXISTANT:
+ 				createDirectory(path);
+ 				break;
+diff --git a/ext/common/Utils.cpp b/ext/common/Utils.cpp
+index 1f3dec5..d1db8d6 100644
+--- a/ext/common/Utils.cpp
++++ b/ext/common/Utils.cpp
+@@ -143,6 +143,35 @@
+ 	}
+ }
+ 
++FileType
++getFileTypeNoFollowSymlinks(const StaticString &filename) {
++	struct stat buf;
++	int ret;
++	
++	ret = lstat(filename.c_str(), &buf);
++	if (ret == 0) {
++		if (S_ISREG(buf.st_mode)) {
++			return FT_REGULAR;
++		} else if (S_ISDIR(buf.st_mode)) {
++			return FT_DIRECTORY;
++		} else if (S_ISLNK(buf.st_mode)) {
++			return FT_SYMLINK;
++		} else {
++			return FT_OTHER;
++		}
++	} else {
++		if (errno == ENOENT) {
++			return FT_NONEXISTANT;
++		} else {
++			int e = errno;
++			string message("Cannot lstat '");
++			message.append(filename);
++			message.append("'");
++			throw FileSystemException(message, e, filename);
++		}
++	}
++}
++
+ void
+ createFile(const string &filename, const StaticString &contents, mode_t permissions, uid_t owner,
+ 	gid_t group, bool overwrite)
+diff --git a/ext/common/Utils.h b/ext/common/Utils.h
+index 41e6214..5cfaf92 100644
+--- a/ext/common/Utils.h
++++ b/ext/common/Utils.h
+@@ -65,6 +65,8 @@
+ 	FT_REGULAR,
+ 	/** A directory. */
+ 	FT_DIRECTORY,
++	/** A symlink. Only returned by getFileTypeNoFollowSymlinks(), not by getFileType(). */
++	FT_SYMLINK,
+ 	/** Something else, e.g. a pipe or a socket. */
+ 	FT_OTHER
+ } FileType;
+@@ -110,7 +112,7 @@ bool fileExists(const StaticString &filename, CachedFileStat *cstat = 0,
+ /**
+  * Check whether 'filename' exists and what kind of file it is.
+  *
+- * @param filename The filename to check.
++ * @param filename The filename to check. It MUST be NULL-terminated.
+  * @param mstat A CachedFileStat object, if you want to use cached statting.
+  * @param throttleRate A throttle rate for cstat. Only applicable if cstat is not NULL.
+  * @return The file type.
+@@ -121,6 +123,10 @@ bool fileExists(const StaticString &filename, CachedFileStat *cstat = 0,
+  */
+ FileType getFileType(const StaticString &filename, CachedFileStat *cstat = 0,
+                      unsigned int throttleRate = 0);
++/**
++ * Like getFileType(), but does not follow symlinks.
++ */
++FileType getFileTypeNoFollowSymlinks(const StaticString &filename);
+ 
+ /**
+  * Create the given file with the given contents, permissions and ownership.
+-- 
+1.8.5.1
+
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18_apache_fix_autofoo.patch b/rubygem-passenger/rubygem-passenger-4.0.18_apache_fix_autofoo.patch
new file mode 100644
index 000000000..dfe51ad95
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18_apache_fix_autofoo.patch
@@ -0,0 +1,12 @@
+diff -urp passenger-release-4.0.18.orig/build/basics.rb passenger-release-4.0.18/build/basics.rb
+--- passenger-release-4.0.18.orig/build/basics.rb	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/build/basics.rb	2013-09-23 16:11:12.926455965 -0500
+@@ -138,7 +138,7 @@ LIBEXT   = PlatformInfo.library_extensio
+ USE_DMALLOC = boolean_option('USE_DMALLOC')
+ USE_EFENCE  = boolean_option('USE_EFENCE')
+ USE_ASAN    = boolean_option('USE_ASAN')
+-OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -fcommon".strip
++OPTIMIZATION_FLAGS = "#{ENV['CXXFLAGS']} #{PlatformInfo.debugging_cflags} -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -fcommon".strip
+ OPTIMIZATION_FLAGS << " -O" if OPTIMIZE
+ OPTIMIZATION_FLAGS << " -feliminate-unused-debug-symbols -feliminate-unused-debug-types" if PlatformInfo.compiler_supports_feliminate_unused_debug?
+ OPTIMIZATION_FLAGS << " -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED" if PlatformInfo.compiler_supports_visibility_flag?
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18_native_dir.patch b/rubygem-passenger/rubygem-passenger-4.0.18_native_dir.patch
new file mode 100644
index 000000000..c9752fd02
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18_native_dir.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/phusion_passenger/native_support.rb b/lib/phusion_passenger/native_support.rb
+index 994c379..d2b84fc 100644
+--- a/lib/phusion_passenger/native_support.rb
++++ b/lib/phusion_passenger/native_support.rb
+@@ -113,7 +113,7 @@ private
+ 	end
+ 	
+ 	def load_from_load_path
+-		require 'passenger_native_support'
++		require 'native/passenger_native_support'
+ 		return true
+ 	rescue LoadError
+ 		return false
diff --git a/rubygem-passenger/rubygem-passenger-4.0.18_remove_fastthread_dep.patch b/rubygem-passenger/rubygem-passenger-4.0.18_remove_fastthread_dep.patch
new file mode 100644
index 000000000..3517f2ecd
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger-4.0.18_remove_fastthread_dep.patch
@@ -0,0 +1,16 @@
+diff -urp passenger-release-4.0.18.orig/lib/phusion_passenger/platform_info/depcheck_specs/gems.rb passenger-release-4.0.18/lib/phusion_passenger/platform_info/depcheck_specs/gems.rb
+--- passenger-release-4.0.18.orig/lib/phusion_passenger/platform_info/depcheck_specs/gems.rb	2013-09-17 13:47:54.000000000 -0500
++++ passenger-release-4.0.18/lib/phusion_passenger/platform_info/depcheck_specs/gems.rb	2013-09-23 16:27:59.963267382 -0500
+@@ -1,11 +1,3 @@
+-define 'fastthread' do
+-	name 'fastthread'
+-	define_checker do
+-		check_for_ruby_library('fastthread')
+-	end
+-	gem_install 'fastthread'
+-end
+-
+ define 'rack' do
+ 	name 'rack'
+ 	define_checker do
+Only in passenger-release-4.0.18/lib/phusion_passenger/platform_info/depcheck_specs: gems.rb.fastthread
diff --git a/rubygem-passenger/rubygem-passenger.spec b/rubygem-passenger/rubygem-passenger.spec
new file mode 100644
index 000000000..4950dac1c
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger.spec
@@ -0,0 +1,589 @@
+%global gem_name passenger
+
+%{!?scl:%global pkg_name %{name}}
+%{?scl:%scl_package rubygem-%{gem_name}}
+
+%if 0%{?fedora} >= 19
+%global gem_extdir %{gem_extdir_mri}
+%endif
+
+%if 0%{?rhel} <= 6
+%if 0%{?scl:1}
+%{!?gem_extdir:%global gem_extdir %{_libdir}/gems/exts/%{gem_name}-%{version}}
+%global gem_extdir_lib %{gem_extdir}/lib
+%else
+%{!?gem_extdir:%global gem_extdir %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")}
+%global gem_extdir_lib %{gem_extdir}
+%endif
+%endif
+
+%{!?_root_includedir:%global _root_includedir %{_includedir}}
+%{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}}
+%{!?_httpd_mmn:        %{expand: %%global _httpd_mmn        %%(cat %{_root_includedir}/httpd/.mmn 2>/dev/null || echo missing-httpd-devel)}}
+%{!?_httpd_confdir:    %{expand: %%global _httpd_confdir    %%{_sysconfdir}/httpd/conf.d}}
+# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4
+%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}}
+%{!?_httpd_moddir:    %{expand: %%global _httpd_moddir    %%{_libdir}/httpd/modules}}
+
+Summary: Passenger Ruby web application server
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 4.0.18
+Release: 9.4%{?dist}
+Group: System Environment/Daemons
+# Passenger code uses MIT license.
+# Bundled(Boost) uses Boost Software License
+# BCrypt and Blowfish files use BSD license.
+# Documentation is CC-BY-SA
+# See: https://bugzilla.redhat.com/show_bug.cgi?id=470696#c146
+License: Boost and BSD and BSD with advertising and MIT and zlib
+
+URL: http://www.modrails.com
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Source: https://github.com/FooBarWidget/passenger/archive/release-%{version}.tar.gz
+Source1: passenger.logrotate
+Source2: rubygem-passenger.tmpfiles
+Source10: apache-passenger.conf.in
+Source11: locations.ini
+
+# Include sys/types.h for GCC 4.7
+Patch2:         rubygem-passenger-4.0.18-gcc47-include-sys_types.patch
+
+# Make example config for tests ready for linux by default
+Patch4:        passenger_tests_default_config_example.patch
+
+# Honor CXXFLAGS in the environment.
+Patch100:       rubygem-passenger-4.0.18_apache_fix_autofoo.patch
+
+# Test tries to spawn 1000 threads with 256kb stacks. Default Linux settings
+# deny allocating so much, causing test to fail. Let's use 8kb stacks instead.
+Patch102:       passenger_dynamic_thread_group.patch
+
+# Remove checking for fastthread on F17+
+Patch104:       rubygem-passenger-4.0.18_remove_fastthread_dep.patch
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=985634
+Patch107:       rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch
+
+# bz1059084 - https://github.com/phusion/passenger/commit/34b1087870c2.patch
+Patch108:       rubygem-passenger-4.0.18-tmpsymlink.patch
+
+# bz1059084 - https://github.com/phusion/passenger/commit/94428057c602.patch
+Patch109:       rubygem-passenger-4.0.18-CVE-2014-1832.patch
+
+# Until rubygem-bluecloth is in Fedora, don't use it
+Patch201:       rubygem-passenger-4.0.18-correct_docs.patch
+
+# Load native library from proper directory
+Patch202:       rubygem-passenger-4.0.18_native_dir.patch
+Patch203:       rubygem-passenger-4.0.18-daemon-controller.patch
+
+Requires: %{?scl_prefix}rubygems
+# XXX: Needed to run passenger standalone
+#Requires: %{?scl_prefix}rubygem(daemon_controller) >= 1.0.0
+Requires: %{?scl_prefix}rubygem(rack)
+Requires: %{?scl_prefix}rubygem(rake)
+Requires: %{?scl_prefix}ruby(abi)
+
+%if 0%{?rhel} >= 6 || 0%{?fedora} >= 15
+BuildRequires:  libcurl-devel
+%else
+BuildRequires:  curl-devel
+%endif
+
+# %if 0%{?rhel} <= 6 && 0%{?fedora} <= 16
+# Requires: rubygem(fastthread) >= 1.0.1
+# BuildRequires:  rubygem(fastthread) >= 1.0.1
+# %endif
+
+BuildRequires: asciidoc
+BuildRequires: boost-devel
+BuildRequires: doxygen
+BuildRequires: graphviz
+BuildRequires: httpd-devel
+# BuildRequires: libev-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygem(rake) >= 0.8.1
+BuildRequires: %{?scl_prefix}rubygem(rack)
+BuildRequires: %{?scl_prefix}rubygem(rspec)
+BuildRequires: %{?scl_prefix}rubygem(mime-types)
+# BuildRequires: source-highlight
+
+# XXX
+BuildRequires: zlib-devel
+
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}-%{release}
+Provides: bundled(boost) =  1.44
+
+%description
+Phusion Passenger™ — a.k.a. mod_rails or mod_rack — makes deployment
+of Ruby web applications, such as those built on the revolutionary
+Ruby on Rails web framework, a breeze. It follows the usual Ruby on
+Rails conventions, such as “Don’t-Repeat-Yourself”.
+
+%package -n %{?scl_prefix}mod_passenger
+Summary: Apache Module for Phusion Passenger
+Group: System Environment/Daemons
+BuildRequires: httpd-devel
+Requires: httpd-mmn = %{_httpd_mmn}
+Requires: %{?scl_prefix}rubygem(%{gem_name}) = %{version}-%{release}
+Requires: %{name}-native%{?_isa} = %{version}-%{release}
+License: Boost and BSD and BSD with advertising and MIT and zlib
+
+%description -n %{?scl_prefix}mod_passenger
+This package contains the pluggable Apache server module for Phusion Passenger™.
+
+%package devel
+Summary: Apache Module for Phusion Passenger
+Group: System Environment/Daemons
+Requires: %{?scl_prefix}rubygem(%{gem_name}) = %{version}-%{release}
+Provides: bundled(boost-devel) =  1.44
+License: Boost and BSD and BSD with advertising and GPL+ and MIT and zlib
+
+%description devel
+This package contains development files for Phusion Passenger™.
+
+%package doc
+Summary: Apache Module for Phusion Passenger
+Group: System Environment/Daemons
+Requires: %{?scl_prefix}rubygem(%{gem_name}) = %{version}-%{release}
+BuildArch: noarch
+License: CC-BY-SA and MIT and (MIT or GPL+)
+
+%description doc
+This package contains documentation files for Phusion Passenger™.
+
+%package native
+Summary: Phusion Passenger native extensions
+Group: System Environment/Daemons
+Requires: %{?scl_prefix}rubygem(%{gem_name}) = %{version}-%{release}
+Requires: %{name}-native-libs%{?_isa} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+License: Boost and BSD and BSD with advertising and MIT and zlib
+%description native
+This package contains the native code extensions for Apache & Nginx
+Phusion Passenger™ bindings.
+
+%package native-libs
+Summary: Phusion Passenger native extensions
+Group: System Environment/Daemons
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{?scl_prefix}ruby
+License: Boost and BSD and BSD with advertising and MIT and zlib
+%description native-libs
+This package contains the native shared library for Apache & Nginx
+Phusion Passenger™ bindings, built against ruby sources. It has been
+separated so that installing a new ruby interpreter only necessitates
+rebuilding this package.
+
+
+%prep
+%setup -q -n %{gem_name}-release-%{version}
+
+%patch2   -p1 -b .include-sys-types
+%patch4   -p1 -b .lindefault
+%patch100 -p1 -b .autofoo
+%patch102 -p1 -b .threadtest
+
+# remove fastthread checking
+# %if 0%{?fedora} >= 17
+%patch104 -p1 -b .fastthread
+# %endif
+
+# fix passenger boost for glibc >= 2.18
+%if 0%{?fedora} >= 20
+%patch107 -p1 -b .glibc-long
+%endif
+
+%patch108 -p1 -b .tmpsymlink
+%patch109 -p1 -b .1832
+
+# Until bluecloth is in Fedora, don't use it
+%patch201 -p1 -b .docs
+%patch202 -p1 -b .nativedir
+%patch203 -p1 -b .daemoncontroller
+
+# Don't use bundled libev
+# %{__rm} -rf ext/libev
+
+# asciidoc 8.4.x doesn't have an html5 backend
+%{__sed} -i 's/-b html5/-b html4/' build/documentation.rb
+
+# fix up install paths
+%{__sed} -i \
+    -e 's|%%%%GEM_INSTALL_DIR%%%%|%{gem_instdir}|g' \
+    -e 's|%%%%APACHE_INSTALLED_MOD%%%%|%{_httpd_moddir}|g' \
+    -e 's|%%%%AGENTS_DIR%%%%|%{gem_extdir}/agents|g' \
+    -e 's|%%%%NATIVE_SUPPORT_DIR%%%%|%{gem_extdir_lib}|g' \
+    lib/phusion_passenger.rb \
+    lib/phusion_passenger/native_support.rb \
+    ext/common/ResourceLocator.h
+
+# Fix anything executable that does not have a hash-bang
+# Why are there executable header files? WTF.
+for script in `find . -type f -perm /a+x -name "*.rb" -o -perm /a+x -name "*.h"`; do
+    [ -z "`head -n 1 $script | grep \"^#!/\"`" ] && chmod -v 644 $script
+done
+
+# Find files with a hash-bang that do not have executable permissions
+for script in `find . -type f ! -perm /a+x -name "*.rb"`; do
+    [ ! -z "`head -n 1 $script | grep \"^#!/\"`" ] && chmod -v 755 $script
+done
+
+%build
+# export USE_VENDORED_LIBEV=false
+CFLAGS="${CFLAGS:-%optflags} -fno-strict-aliasing" ; export CFLAGS ;
+CXXFLAGS="${CXXFLAGS:-%optflags} -fno-strict-aliasing" ; export CXXFLAGS ;
+FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ;
+
+%if 0%{?scl:1}
+. /opt/rh/%scl/enable
+%endif
+
+rake package:gem SKIP_SIGNING=1
+rake apache2
+#rake nginx
+
+%install
+# export USE_VENDORED_LIBEV=false
+
+%if 0%{?scl:1}
+. /opt/rh/%scl/enable
+%endif
+
+# Install the gem.
+gem install -V \
+            --local \
+            --install-dir %{buildroot}%{gem_dir} \
+            --bindir %{buildroot}%{_bindir} \
+            --force \
+            --rdoc \
+            pkg/%{gem_name}-%{version}.gem
+
+# Install locations.ini
+install -pm 0644 %{SOURCE11} %{buildroot}%{gem_instdir}/lib/phusion_passenger/
+%{__sed} -i 's|@BINDIR@|%{_bindir}|' %{buildroot}%{gem_instdir}/lib/phusion_passenger/locations.ini
+%{__sed} -i 's|@GEM_EXTDIR@|%{gem_extdir}|' %{buildroot}%{gem_instdir}/lib/phusion_passenger/locations.ini
+%{__sed} -i 's|@GEM_INSTDIR@|%{gem_instdir}|' %{buildroot}%{gem_instdir}/lib/phusion_passenger/locations.ini
+%{__sed} -i 's|@GEM_DOCDIR@|%{gem_docdir}|' %{buildroot}%{gem_instdir}/lib/phusion_passenger/locations.ini
+%{__sed} -i 's|@HTTPD_MODDIR@|%{_httpd_moddir}|' %{buildroot}%{gem_instdir}/lib/phusion_passenger/locations.ini
+
+# Install Apache module.
+%{__mkdir_p} %{buildroot}/%{_httpd_moddir}
+install -pm 0755 buildout/apache2/mod_passenger.so %{buildroot}/%{_httpd_moddir}
+
+# Install Apache config.
+%{__mkdir_p} %{buildroot}%{_httpd_confdir} %{buildroot}%{_httpd_modconfdir}
+%{__sed} -e 's|@PASSENGERROOT@|%{gem_instdir}/lib/phusion_passenger/locations.ini|g' %{SOURCE10} > passenger.conf
+%{__sed} -i 's|@BINDIR@|%{_bindir}|' passenger.conf
+
+%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}"
+%{__sed} -n /^LoadModule/p passenger.conf > 10-passenger.conf
+%{__sed} -i /^LoadModule/d passenger.conf
+touch -r %{SOURCE10} 10-passenger.conf
+install -pm 0644 10-passenger.conf %{buildroot}%{_httpd_modconfdir}/passenger.conf
+%endif
+touch -r %{SOURCE10} passenger.conf
+install -pm 0644 passenger.conf %{buildroot}%{_httpd_confdir}/passenger.conf
+
+
+# Install man pages into the proper location.
+%{__mkdir_p} %{buildroot}%{_mandir}/man1
+%{__mkdir_p} %{buildroot}%{_mandir}/man8
+%{__mv} %{buildroot}%{gem_instdir}/man/*.1 %{buildroot}%{_mandir}/man1
+%{__mv} %{buildroot}%{gem_instdir}/man/*.8 %{buildroot}%{_mandir}/man8
+rmdir %{buildroot}%{gem_instdir}/man
+
+# The agents aren't in the gem for some reason...
+%{__chmod} -R 0755 buildout/agents/*
+%{__mkdir_p} %{buildroot}%{gem_extdir}
+%{__cp} -a buildout/agents %{buildroot}%{gem_extdir}
+%{__rm} -f %{buildroot}%{gem_extdir}/agents/*.o
+
+# Make our ghost log and run directories...
+%{__mkdir_p} %{buildroot}%{_localstatedir}/log/passenger-analytics
+
+# logrotate
+%{__mkdir_p} %{buildroot}/etc/logrotate.d
+install -pm 0644 %{SOURCE1} %{buildroot}/etc/logrotate.d/%{?scl_prefix}passenger
+sed -i 's|\$localstatedir|%{_localstatedir}|' \
+    %{buildroot}/etc/logrotate.d/%{?scl_prefix}passenger
+
+# # tmpfiles.d
+# %if 0%{?fedora} > 15
+# %{__mkdir_p} %{buildroot}/run
+# %{__mkdir_p} %{buildroot}%{_prefix}/lib/tmpfiles.d
+# install -m 0644 %{SOURCE2} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
+# install -d -m 0755 %{buildroot}/run/%{name}
+# %else
+%{__mkdir_p} %{buildroot}%{_localstatedir}/run/rubygem-passenger
+# %endif
+
+# Bring over just the native binaries
+%{__mkdir_p} %{buildroot}%{gem_extdir_lib}/native
+install -m 0755 buildout/ruby/ruby*linux/passenger_native_support.so %{buildroot}%{gem_extdir_lib}/native
+
+# Remove zero-length and non-needed files
+find %{buildroot}%{gem_instdir} -type f -size 0c -delete
+%{__rm} -rf %{buildroot}%{gem_instdir}/.gitignore
+%{__rm} -rf %{buildroot}%{gem_instdir}/.yardoc
+%{__rm} -rf %{buildroot}%{gem_instdir}/rpm/
+
+
+# Don't install the installation scripts and Rakefile. That's why we have packaging.
+%{__rm} %{buildroot}%{gem_instdir}/bin/%{gem_name}-install-apache2-module
+%{__rm} %{buildroot}%{gem_instdir}/bin/%{gem_name}-install-nginx-module
+%{__rm} %{buildroot}%{_bindir}/%{gem_name}-install-apache2-module
+%{__rm} %{buildroot}%{_bindir}/%{gem_name}-install-nginx-module
+%{__rm} %{buildroot}%{gem_instdir}/Rakefile
+
+# Patch gemspec to indicate we have extensions, so Fedora's patched rubygems
+# will add the 'exts' load path
+sed -i '/Gem::Specification.new/ a s.extensions = ["workaround"]' \
+    %{buildroot}%{gem_spec}
+
+%check
+%if 0%{?scl:1}
+. /opt/rh/%scl/enable
+%endif
+
+# export USE_VENDORED_LIBEV=false
+# Run the tests, capture the output, but don't fail the build if the tests fail
+#
+# This will make the test failure non-critical, but it should be examined
+# anyway.
+sed -i 's|sh "cd test && \./cxx/CxxTestMain"|& rescue true|' \
+    build/cxx_tests.rb
+
+# Fedora has RSpec 2 while the test suite seems to require RSpec 1.
+sed -i \
+    "s|return locate_ruby_tool('spec')|return locate_ruby_tool('rspec')|" \
+    lib/phusion_passenger/platform_info/ruby.rb
+
+%{__cp} test/config.json.example test/config.json
+
+rake test --trace ||:
+
+%files
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/CONTRIBUTING.md
+%doc %{gem_instdir}/CONTRIBUTORS
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/NEWS
+%{gem_cache}
+%{gem_spec}
+%dir %{gem_instdir}
+%{gem_instdir}/bin
+%{gem_instdir}/helper-scripts
+%{gem_instdir}/lib
+%{gem_instdir}/passenger.gemspec
+%{gem_instdir}/resources
+%{gem_instdir}/.travis.yml
+%{_bindir}/%{gem_name}*
+%{_mandir}/man1/%{gem_name}-*
+%{_mandir}/man8/%{gem_name}-*
+%dir %{_localstatedir}/run/rubygem-passenger
+%exclude %{gem_instdir}/configure
+%exclude %{gem_instdir}/debian.template/
+%exclude %{gem_cache}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/doc
+
+%files devel
+%doc %{gem_instdir}/INSTALL.md
+%{gem_instdir}/test
+%{gem_instdir}/build
+%{gem_instdir}/dev
+%{gem_instdir}/ext
+
+%files -n %{?scl_prefix}mod_passenger
+%config(noreplace) %{_httpd_modconfdir}/*.conf
+%{_httpd_moddir}/mod_passenger.so
+%doc doc/Users?guide?Apache.txt
+
+%files native
+%{gem_extdir}/agents
+%dir %{_localstatedir}/log/passenger-analytics
+/etc/logrotate.d/%{?scl_prefix}passenger
+
+%files native-libs
+%dir %{gem_extdir}
+%{gem_extdir_lib}
+
+%changelog
+* Fri Apr 25 2014 Dominic Cleal <dcleal@redhat.com> 4.0.18-9.4
+- Keep passenger_native_support in native/ dir for RHSCL compatibility
+- Fix extdir on Ruby 1.8 (dcleal@redhat.com)
+
+* Thu Apr 24 2014 Dominic Cleal <dcleal@redhat.com> 4.0.18-9.3
+- Replace native library loading patch, force rubygems to add 'exts' to load
+  path instead (dcleal@redhat.com)
+- Fix ruby_libdir for Ruby 1.8 builds (dcleal@redhat.com)
+
+* Tue Apr 22 2014 Dominic Cleal <dcleal@redhat.com> 4.0.18-9.2
+- Fix expansion of _root_includedir in non-SCL build (dcleal@redhat.com)
+
+* Tue Apr 22 2014 Dominic Cleal <dcleal@redhat.com> 4.0.18-9.1
+- Fix expansion of httpd_mmn in SCL build (dcleal@redhat.com)
+
+* Wed Mar 05 2014 Jan Kaluza <jkaluza@redhat.com> - 4.0.18-9
+- fix the dependency on daemon-controller (#1072927)
+
+* Fri Feb 14 2014 Jan Kaluza <jkaluza@redhat.com> - 4.0.18-8
+- fix corrupted RI documentation (#1064824)
+
+* Mon Feb 03 2014 Jan Kaluza <jkaluza@redhat.com> - 4.0.18-7
+- fix also CVE-2014-1832 (#1059084)
+
+* Wed Jan 29 2014 Jan Kaluza <jkaluza@redhat.com> - 4.0.18-6
+- fix a symlink-related security vulnerability (#1059084)
+
+* Tue Nov 26 2013 Joe Orton <jorton@redhat.com> - 4.0.18-5
+- build with no-strict-aliasing
+
+* Mon Nov 11 2013 Jan Kaluza <jkaluza@redhat.com> - 4.0.18-4
+- load native library from proper path
+
+* Mon Nov 11 2013 Jan Kaluza <jkaluza@redhat.com> - 4.0.18-3
+- support for software collections
+
+* Wed Sep 25 2013 Troy Dawson <tdawson@redhat.com> - 4.0.18-2
+- Cleanup spec file
+- Fix for bz#987879
+
+* Tue Sep 24 2013 Troy Dawson <tdawson@redhat.com> - 4.0.18-1
+- Update to 4.0.18
+- Remove patches no longer needed
+- Update patches that need updating
+
+* Mon Sep 23 2013 Brett Lentz <blentz@redhat.com> - 3.0.21-9
+- finish fixing bz#999384
+
+* Fri Sep 20 2013 Joe Orton <jorton@redhat.com> - 3.0.21-8
+- update packaging for httpd 2.4.x
+
+* Thu Sep 19 2013 Troy Dawson <tdawson@redhat.com> - 3.0.21-7
+- Fix for F20 FTBFS (#993310)
+
+* Thu Aug 22 2013 Brett Lentz <blentz@redhat.com> - 3.0.21-6
+- bz#999384
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.21-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Thu Jul 18 2013 Troy Dawson <tdawson@redhat.com> - 3.0.21-4
+- Fix for CVE-2013-4136 (#985634)
+
+* Fri Jun 21 2013 Troy Dawson <tdawson@redhat.com> - 3.0.21-3
+- Putting the agents back to where they originally were
+
+* Fri Jun 21 2013 Troy Dawson <tdawson@redhat.com> - 3.0.21-2
+- Remove Rakefile (only used for building) (#976843)
+
+* Thu May 30 2013 Troy Dawson <tdawson@redhat.com> - 3.0.21-1
+- Update to version 3.0.21
+- Fix for CVE-2013-2119
+
+* Thu May 16 2013 Troy Dawson <tdawson@redhat.com> - 3.0.19-4
+- Fix to make agents work on F19+
+
+* Wed Mar 13 2013 Troy Dawson <tdawson@redhat.com> - 3.0.19-3
+- Fix to make it build/install on F19+
+- Added patch105
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.19-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sun Jan 20 2013 Orion Poplawski <orion@cora.nwra.com> - 3.0.19-1
+- Update to 3.0.19
+
+* Wed Sep 19 2012 Orion Poplawski <orion@cora.nwra.com> - 3.0.17-3
+- Drop dependency on rubygem(file-tail), no longer needed
+
+* Fri Sep 7 2012 Brett Lentz <blentz@redhat.com> - 3.0.17-2
+- Fix License
+
+* Thu Sep 6 2012 Brett Lentz <blentz@redhat.com> - 3.0.17-1
+- update to 3.0.17
+
+* Wed Sep 5 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-15
+- add support for tmpfiles.d
+
+* Tue Sep 4 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-14
+- Fix License tag
+- Fix gem_extdir ownership issue
+
+* Wed Aug 29 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-13
+- fix pathing issues
+- fix ruby abi requires
+
+* Wed Aug 29 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-12
+- remove capability for running passenger standalone until daemon_controller is updated
+
+* Tue Aug 28 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-11
+- fix issues with fastthread
+
+* Mon Aug 27 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-10
+- get test suite sort of working
+- move agents to gem_extdir
+
+* Fri Aug 24 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-9
+- stop using _bindir
+- fix native libs path
+- fix ownership on extdir
+- improve test output
+
+* Wed Aug 22 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-8
+- removed policycoreutils requirement
+- moved native libs to gem_extdir
+
+* Wed Aug 22 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-7
+- remove selinux policy module. it's in the base policy now.
+
+* Fri Aug 17 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-6
+- put native-libs into ruby_vendorarchdir.
+
+* Thu Aug 16 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-5
+- clean up packaging and file placement.
+- add logrotate file for /var/log/passenger-analytics
+
+* Wed Aug 15 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-4
+- backported fix only needed on f18+
+
+* Wed Aug 15 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-3
+- backport fix from https://svn.boost.org/trac/boost/ticket/6940
+
+* Mon Aug 13 2012 Brett Lentz <blentz@redhat.com> - 3.0.14-2
+- remove F15 conditional. F15 is EOL.
+
+* Fri Jul 27 2012 Troy Dawson <tdawson@redhat.com> - 3.0.14-1
+- Updated to version 3.0.14
+
+* Fri Jul 27 2012 Troy Dawson <tdawson@redhat.com> - 3.0.12-6
+- Added patch20, spawn-ip
+- Changed selinux files to be more dynamic
+
+* Tue Jun 05 2012 Troy Dawson <tdawson@redhat.com> - 3.0.12-5
+- Add all the selinux files
+
+* Tue Jun 05 2012 Troy Dawson <tdawson@redhat.com> - 3.0.12-4
+- Added selinux configurations
+
+* Tue Jun 05 2012 Troy Dawson <tdawson@redhat.com> - 3.0.12-3
+- Added native and native-libs rpms.
+
+* Mon Apr 16 2012 Brett Lentz <blentz@redhat.com> - 3.0.12-2
+- Add dist to release.
+- Shuffle around deprecated buildrequires and requires.
+
+* Mon Apr 16 2012 Brett Lentz <blentz@redhat.com> - 3.0.12-1
+- Update to 3.0.12
+- Incorporate specfile changes from kanarip's version
+
+* Wed Apr 11 2012 Brett Lentz <blentz@redhat.com> - 3.0.11-1
+- Initial spec file
diff --git a/rubygem-passenger/rubygem-passenger.tmpfiles b/rubygem-passenger/rubygem-passenger.tmpfiles
new file mode 100644
index 000000000..6ba447256
--- /dev/null
+++ b/rubygem-passenger/rubygem-passenger.tmpfiles
@@ -0,0 +1 @@
+d /run/passenger 0755 root root -
diff --git a/rubygem-pg/pg-0.12.2.gem b/rubygem-pg/pg-0.12.2.gem
new file mode 120000
index 000000000..f172c4451
--- /dev/null
+++ b/rubygem-pg/pg-0.12.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/5w/k1/SHA256E-s108032--6dd15c3fa7219a4126243d5a32fe6182b9f8d4b2497f61f1b949df2fabf35ee8.2.gem/SHA256E-s108032--6dd15c3fa7219a4126243d5a32fe6182b9f8d4b2497f61f1b949df2fabf35ee8.2.gem
\ No newline at end of file
diff --git a/rubygem-pg/rubygem-pg.spec b/rubygem-pg/rubygem-pg.spec
new file mode 100644
index 000000000..bebdd6cad
--- /dev/null
+++ b/rubygem-pg/rubygem-pg.spec
@@ -0,0 +1,161 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from pg-0.11.0.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name pg
+%global rubyabi 1.9.1
+
+Summary: A Ruby interface to the PostgreSQL RDBMS
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.12.2
+Release: 8%{?dist}
+Group: Development/Languages
+# Upstream license clarification (https://bitbucket.org/ged/ruby-pg/issue/72/)
+#
+# The portions of the code that are BSD-licensed are licensed under
+# the BSD 3-Clause license; the contents of the BSD file are incorrect.
+#
+License: (GPLv2 or Ruby) and BSD
+URL: http://bitbucket.org/ged/ruby-pg/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildRequires: postgresql-server postgresql-devel
+BuildRequires: %{?scl_prefix}rubygem(rspec)
+# Introduced in F17.
+Obsoletes: %{?scl_prefix}ruby(postgres) <= 0.7.9-2010.01.28.2
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+This is the extension library to access a PostgreSQL database from Ruby.
+This library works with PostgreSQL 7.4 and later.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            -V --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+mkdir -p %{buildroot}%{gem_extdir}/lib
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+mv %{buildroot}%{gem_libdir}/pg_ext.so %{buildroot}%{gem_extdir}/lib
+
+# Remove the binary extension sources and build leftovers.
+rm -rf %{buildroot}%{gem_instdir}/ext
+
+# Remove useless shebangs.
+sed -i -e '/^#!\/usr\/bin\/env/d' %{buildroot}%{gem_libdir}/pg.rb
+sed -i -e '/^#!rake/d' %{buildroot}%{gem_instdir}/Rakefile
+
+# Fix spec shebangs.
+# https://bitbucket.org/ged/ruby-pg/issue/74/
+for file in `find %{buildroot}%{gem_instdir}/spec -type f ! -perm /a+x -name "*.rb"`; do
+    [ ! -z "`head -n 1 $file | grep \"^#!/\"`" ] \
+        && sed -i -e 's/^#!\/usr\/bin\/env spec/#!\/usr\/bin\/env rspec/' $file \
+        && chmod -v 755 $file
+done
+
+%check
+pushd .%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+#rspec spec
+%{?scl:"}
+popd
+
+%files
+%exclude %{gem_instdir}/.gemtest
+%{gem_extdir}
+%dir %{gem_instdir}
+%doc %{gem_instdir}/BSD
+%doc %{gem_instdir}/GPL
+%doc %{gem_instdir}/LICENSE
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/ChangeLog
+%doc %{gem_instdir}/Contributors.rdoc
+%doc %{gem_instdir}/History.rdoc
+%doc %{gem_instdir}/Manifest.txt
+%{gem_instdir}/Rakefile
+%{gem_instdir}/Rakefile.cross
+%doc %{gem_instdir}/README.rdoc
+%doc %{gem_instdir}/README.ja.rdoc
+%doc %{gem_instdir}/README.OS_X.rdoc
+%doc %{gem_instdir}/README.windows.rdoc
+%{gem_instdir}/misc
+%{gem_instdir}/sample
+%{gem_instdir}/spec
+
+%changelog
+* Wed Mar 06 2013 Lukas Zapletal <lzap+git@redhat.com> 0.12.2-8
+- disabling tests for ruby193-rubygem-pg
+
+* Wed Mar 06 2013 Lukas Zapletal <lzap+git@redhat.com> 0.12.2-7
+- importing rspec for pg
+
+* Wed Mar 06 2013 Lukas Zapletal <lzap+git@redhat.com> 0.12.2-6
+- new package built with tito
+
+* Wed Mar 06 2013 Lukas Zapletal <lzap+rpm[@]redhat.com> - 0.12.2-5
+- rebuilt with prefix
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Feb 07 2012 Vít Ondruch <vondruch@redhat.com> - 0.12.2-2
+- Obsolete ruby-postgress, which was retired.
+
+* Tue Jan 24 2012 Vít Ondruch <vondruch@redhat.com> - 0.12.2-1
+- Rebuilt for Ruby 1.9.3.
+- Upgrade to pg 0.12.2.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Fri Jun 03 2011 Vít Ondruch <vondruch@redhat.com> - 0.11.0-5
+- Pass CFLAGS to extconf.rb.
+
+* Fri Jun 03 2011 Vít Ondruch <vondruch@redhat.com> - 0.11.0-4
+- Binary extension moved into ruby_sitearch dir.
+- -doc subpackage made architecture independent.
+
+* Wed Jun 01 2011 Vít Ondruch <vondruch@redhat.com> - 0.11.0-3
+- Quoted upstream license clarification.
+
+* Mon May 30 2011 Vít Ondruch <vondruch@redhat.com> - 0.11.0-2
+- Removed/fixed shebang in non-executables.
+- Removed sources.
+
+* Thu May 26 2011 Vít Ondruch <vondruch@redhat.com> - 0.11.0-1
+- Initial package
diff --git a/rubygem-po_to_json/po_to_json-0.0.7.gem b/rubygem-po_to_json/po_to_json-0.0.7.gem
new file mode 120000
index 000000000..741bd1053
--- /dev/null
+++ b/rubygem-po_to_json/po_to_json-0.0.7.gem
@@ -0,0 +1 @@
+../.git/annex/objects/95/5w/SHA256E-s6656--3a1b5495d85f4fe0c5d4b73f7d01d4653f7575074185be957fd456effcfc0976.7.gem/SHA256E-s6656--3a1b5495d85f4fe0c5d4b73f7d01d4653f7575074185be957fd456effcfc0976.7.gem
\ No newline at end of file
diff --git a/rubygem-po_to_json/rubygem-po_to_json.spec b/rubygem-po_to_json/rubygem-po_to_json.spec
new file mode 100644
index 000000000..6295261a7
--- /dev/null
+++ b/rubygem-po_to_json/rubygem-po_to_json.spec
@@ -0,0 +1,79 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name po_to_json
+%global rubyabi 1.9.1
+
+Summary: Convert gettext PO files to json
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.0.7
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/nubis/po_to_json
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(json)
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Convert gettext PO files to json to use in your javascript app, based
+po2json.pl (by DuckDuckGo, Inc. http://duckduckgo.com/, Torsten
+Raudssus <torsten@raudss.us>.)
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/MIT-LICENSE
+%{gem_instdir}/README.md
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.0.7-2
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Tue May 14 2013 Dominic Cleal <dcleal@redhat.com> 0.0.7-1
+- new package built with tito
+
diff --git a/rubygem-quiet_assets/quiet_assets-1.0.2.gem b/rubygem-quiet_assets/quiet_assets-1.0.2.gem
new file mode 120000
index 000000000..5d0075fae
--- /dev/null
+++ b/rubygem-quiet_assets/quiet_assets-1.0.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/K8/ZK/SHA256E-s5632--3fbc8728462a42d58cd9101b0ad8a240d3cb90a248d5d4072af432fa946a2fa8.2.gem/SHA256E-s5632--3fbc8728462a42d58cd9101b0ad8a240d3cb90a248d5d4072af432fa946a2fa8.2.gem
\ No newline at end of file
diff --git a/rubygem-quiet_assets/rubygem-quiet_assets.spec b/rubygem-quiet_assets/rubygem-quiet_assets.spec
new file mode 100644
index 000000000..92c764063
--- /dev/null
+++ b/rubygem-quiet_assets/rubygem-quiet_assets.spec
@@ -0,0 +1,94 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from quiet_assets-1.0.2.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name quiet_assets
+%global rubyabi 1.9.1
+
+Summary: Turn off rails assets log
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.0.2
+Release: 6%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://github.com/evrone/quiet_assets
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}ruby 
+Requires: %{?scl_prefix}rubygem(railties) >= 3.1
+Requires: %{?scl_prefix}rubygem(railties) < 5.0
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}ruby 
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Quiet assets turn off rails assets log.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+%exclude %{gem_instdir}/%{gem_name}.gemspec
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/test
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 1.0.2-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 1.0.2-5
+- new package built with tito
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 1.0.2-3
+- new package built with tito
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 1.0.2-2
+- new package built with tito
+
+* Wed Apr 03 2013 msuchy@redhat.com - 1.0.2-1
+- Initial package
diff --git a/rubygem-rabl/rabl-0.9.0.gem b/rubygem-rabl/rabl-0.9.0.gem
new file mode 120000
index 000000000..a1ee9173b
--- /dev/null
+++ b/rubygem-rabl/rabl-0.9.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/jP/zZ/SHA256E-s129024--ecb94554352ca0c04af1e9d49469c6b98fbf435dacf0b85c45fdcd4ea9bee412.0.gem/SHA256E-s129024--ecb94554352ca0c04af1e9d49469c6b98fbf435dacf0b85c45fdcd4ea9bee412.0.gem
\ No newline at end of file
diff --git a/rubygem-rabl/rubygem-rabl.spec b/rubygem-rabl/rubygem-rabl.spec
new file mode 100644
index 000000000..1c96d788d
--- /dev/null
+++ b/rubygem-rabl/rubygem-rabl.spec
@@ -0,0 +1,117 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rabl
+
+Summary: General ruby templating with json, bson, xml and msgpack support
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.9.0
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/nesquena/rabl
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem(activesupport) >= 2.3.14
+Requires: %{?scl_prefix}rubygem(multi_json) >= 1.0
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+RABL (Ruby API Builder Language) is a Rails and Padrino ruby
+templating system for generating JSON, XML, MessagePack, PList and
+BSON.
+
+%package doc
+BuildArch: noarch
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary: Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+%setup -q -D -T -n  %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+%{?scl:scl enable %{scl} "}
+# Create the gem as gem install only works on a gem file
+%{?scl:"}
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+rm -rf ./%{gem_dir}/gems/%{gem_name}-%{version}/.yardoc
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+rm %{buildroot}%{gem_instdir}/{README.md,CHANGELOG.md,CONTRIBUTING.md,TODO,MIT-LICENSE,.gitignore,\
+.travis.yml,rabl.gemspec,test.watchr}
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%{gem_cache}
+%{gem_spec}
+%doc MIT-LICENSE
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/Gemfile*
+%{gem_instdir}/Rakefile
+%doc README.md CHANGELOG.md CONTRIBUTING.md TODO
+%{gem_instdir}/test
+%{gem_instdir}/fixtures
+%{gem_instdir}/examples
+
+%check
+# Running tests requires: rubygem-riot, rubygem-tilt,
+# rubygem-yajl-ruby, rubygem-msgpack, rubygem-bson, rubygem-plist
+# Deps not available in RPMs, skipping for nown
+# Running manually was green
+# rake test
+
+%changelog
+* Wed Jan 22 2014 Justin Sherrill <jsherril@redhat.com> 0.9.0-1
+- upgrading to new rabl version 0.9.0 (jsherril@redhat.com)
+
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.7.6-5
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 0.7.6-3
+- new package built with tito
+
+* Thu Nov 15 2012 Martin Bačovský <mbacovsk@redhat.com> 0.7.6-2
+- Updated to 0.7.6 (mbacovsk@redhat.com)
+
+* Mon Aug 20 2012 Ivan Necas <inecas@redhat.com> 0.7.1-1
+- initial package
+
diff --git a/rubygem-rack-mini-profiler/rack-mini-profiler-0.1.26.gem b/rubygem-rack-mini-profiler/rack-mini-profiler-0.1.26.gem
new file mode 120000
index 000000000..bad42b61b
--- /dev/null
+++ b/rubygem-rack-mini-profiler/rack-mini-profiler-0.1.26.gem
@@ -0,0 +1 @@
+../.git/annex/objects/W8/qK/SHA256E-s90112--bf4687551db288515a67cf3acf7c045c85a0047cf9b8f5a53f4cea9848de3df8.26.gem/SHA256E-s90112--bf4687551db288515a67cf3acf7c045c85a0047cf9b8f5a53f4cea9848de3df8.26.gem
\ No newline at end of file
diff --git a/rubygem-rack-mini-profiler/rubygem-rack-mini-profiler.spec b/rubygem-rack-mini-profiler/rubygem-rack-mini-profiler.spec
new file mode 100644
index 000000000..a426a6fd2
--- /dev/null
+++ b/rubygem-rack-mini-profiler/rubygem-rack-mini-profiler.spec
@@ -0,0 +1,104 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rack-mini-profiler
+
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.1.26
+Release: 2%{?dist}
+Summary: Profiles loading speed for rack applications
+Group: Development/Languages
+License: ASLv2
+URL: http://miniprofiler.com
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}rubygem(rack) >= 1.1.3
+
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}rubygems
+BuildRequires: %{?scl_prefix}rubygem-activerecord
+BuildRequires: %{?scl_prefix}rubygem-rack-test
+BuildRequires: %{?scl_prefix}rubygem-rake
+
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Profiling toolkit for Rack applications with Rails integration. Client Side
+profiling, DB profiling and Server profiling.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+
+%setup -q -D -T -n  %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+# Create the gem as gem install only works on a gem file
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+# gem install installs into a directory.  We set that to be a local
+# directory so that we can move it into the buildroot in %%install
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir ./%{gem_dir} \
+            --force --rdoc %{gem_name}-%{version}.gem
+%{?scl:"}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -pa .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+# this gem uses ./Ruby/lib directory instead of just ./lib/
+%{gem_instdir}/Ruby
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/Ruby/README.md
+%doc %{gem_instdir}/Ruby/CHANGELOG
+%{gem_instdir}/%{gem_name}.gemspec
+
+%changelog
+* Thu Jun 13 2013 Lukas Zapletal <lzap+git@redhat.com> 0.1.26-2
+- fixing rubygem-rack-mini-profiler (lzap+git@redhat.com)
+
+* Thu Jun 13 2013 Lukas Zapletal <lzap+git@redhat.com> 0.1.26-1
+- new package built with tito
+
+* Thu Jun 13 2013 Lukas Zapletal <lzap+git@redhat.com>
+- new package built with tito
+
+* Thu Jun 13 2013 Lukas Zapletal <lzap+git@redhat.com> 0.1.26-1
+- new package built with tito
+
+* Thu Jun 13 2013 Lukas Zapletal <lzap+rpm@redhat.com> - 0.1.26-1
+- Initial package
diff --git a/rubygem-rails3_before_render/rails3_before_render-0.2.0.gem b/rubygem-rails3_before_render/rails3_before_render-0.2.0.gem
new file mode 120000
index 000000000..9a4d33d7d
--- /dev/null
+++ b/rubygem-rails3_before_render/rails3_before_render-0.2.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/22/jK/SHA256E-s6656--7bcb3afb968cfaeaf0edea36ba5242b7b51c4b54228a5fe298e640fd98af2ac5.0.gem/SHA256E-s6656--7bcb3afb968cfaeaf0edea36ba5242b7b51c4b54228a5fe298e640fd98af2ac5.0.gem
\ No newline at end of file
diff --git a/rubygem-rails3_before_render/rubygem-rails3_before_render.spec b/rubygem-rails3_before_render/rubygem-rails3_before_render.spec
new file mode 100644
index 000000000..babcfd088
--- /dev/null
+++ b/rubygem-rails3_before_render/rubygem-rails3_before_render.spec
@@ -0,0 +1,85 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rails3_before_render
+%global rubyabi 1.9.1
+
+Summary: provides a before_render method for action_controllers
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.2.0
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/shell/rails3_before_render
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Add a hook like before_filter to your controllers that gets executed between
+when your action is completed and the template is rendered. It can really DRY
+up loading some data that is used for views (headers / layouts / etc).
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/MIT-LICENSE
+
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/test
+%exclude %{gem_instdir}/*.gemspec
+%exclude %{gem_instdir}/.gitignore
+%exclude %{gem_instdir}/.travis.yml
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/MIT-LICENSE
+%doc %{gem_instdir}/*.md
+%{gem_instdir}/Rakefile
+
+%changelog
+* Mon Oct 21 2013 Dominic Cleal <dcleal@redhat.com> 0.2.0-1
+- new package built with tito
+
diff --git a/rubygem-rbovirt/rbovirt-0.0.26.gem b/rubygem-rbovirt/rbovirt-0.0.26.gem
new file mode 120000
index 000000000..7d1d68913
--- /dev/null
+++ b/rubygem-rbovirt/rbovirt-0.0.26.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Pq/P8/SHA256E-s17920--446542955c7a42537373c3155b9f0dcea1cf79da0d75da74f00b0301d652c17c.26.gem/SHA256E-s17920--446542955c7a42537373c3155b9f0dcea1cf79da0d75da74f00b0301d652c17c.26.gem
\ No newline at end of file
diff --git a/rubygem-rbovirt/rubygem-rbovirt.spec b/rubygem-rbovirt/rubygem-rbovirt.spec
new file mode 100644
index 000000000..d7aaa8dfb
--- /dev/null
+++ b/rubygem-rbovirt/rubygem-rbovirt.spec
@@ -0,0 +1,111 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rbovirt
+
+Summary: A Ruby client for oVirt REST API
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 0.0.26
+Release: 1%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/abenari/rbovirt
+Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+Requires: %{?scl_prefix}rubygem-nokogiri 
+
+Requires: %{?scl_prefix}rubygem-rest-client 
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(rbovirt) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+A Ruby client for oVirt REST API
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+%build
+
+%install
+%{__rm} -rf %{buildroot}
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
+%{?scl:"}
+rm -f %{buildroot}%{gem_instdir}/.document
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/LICENSE.txt
+%{gem_instdir}/lib
+%exclude %{gem_cache}
+%exclude %{gem_instdir}/.*
+%{gem_spec}
+
+%files doc
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/Gemfile
+%{gem_instdir}/spec
+%{gem_instdir}/Rakefile
+%{gem_instdir}/rbovirt.gemspec
+%doc %{gem_docdir}
+
+%changelog
+* Mon Apr 14 2014 Dominic Cleal <dcleal@redhat.com> 0.0.26-1
+- Rebase to rbovirt 0.0.26 (dcleal@redhat.com)
+
+* Wed Apr 02 2014 Dominic Cleal <dcleal@redhat.com> 0.0.25-1
+- Rebase to rbovirt 0.0.25 (dcleal@redhat.com)
+
+* Mon Mar 24 2014 Dominic Cleal <dcleal@redhat.com> 0.0.24-1
+- Rebase to rbovirt 0.0.24 (dcleal@redhat.com)
+
+* Thu Feb 13 2014 Dominic Cleal <dcleal@redhat.com> 0.0.23-1
+- Rebase to rbovirt 0.0.23 (dcleal@redhat.com)
+
+* Wed Feb 12 2014 Dominic Cleal <dcleal@redhat.com> 0.0.22-1
+- Rebase to rbovirt 0.0.22 (dcleal@redhat.com)
+
+* Mon Jul 22 2013 Dominic Cleal <dcleal@redhat.com> 0.0.21-2
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Mon Jul 22 2013 Dominic Cleal <dcleal@redhat.com> 0.0.21-1
+- Rebase to rbovirt 0.0.21 (dcleal@redhat.com)
+
+* Thu May 23 2013 Dominic Cleal <dcleal@redhat.com> 0.0.20-1
+- rebase to rbovirt-0.0.20.gem (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 27 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.16-3
+- put correct license in spec (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.16-2
+- rebase to rbovirt-0.0.16.gem (msuchy@redhat.com)
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.16-1
+- rebase to rbovirt-0.0.16.gem (msuchy@redhat.com)
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 0.0.12-2
+- polish the spec (msuchy@redhat.com)
+
+* Thu Sep 06 2012 Miroslav Suchý <msuchy@redhat.com> 0.0.12-1
+- new package built with tito
+
diff --git a/rubygem-rbvmomi/0001-Fix-assumption-that-the-time-test-is-always-in-0800.patch b/rubygem-rbvmomi/0001-Fix-assumption-that-the-time-test-is-always-in-0800.patch
new file mode 100644
index 000000000..75ee6cedd
--- /dev/null
+++ b/rubygem-rbvmomi/0001-Fix-assumption-that-the-time-test-is-always-in-0800.patch
@@ -0,0 +1,28 @@
+From 8f3827aaa23bf4dd67f5fd671076b8d3957772b8 Mon Sep 17 00:00:00 2001
+From: Dominic Cleal <dcleal@redhat.com>
+Date: Tue, 11 Jun 2013 16:16:40 +0100
+Subject: [PATCH] Fix assumption that the time test is always in -0800
+
+---
+ test/test_serialization.rb | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/test_serialization.rb b/test/test_serialization.rb
+index c036e4e..b107af0 100644
+--- a/test/test_serialization.rb
++++ b/test/test_serialization.rb
+@@ -287,9 +287,9 @@ class SerializationTest < Test::Unit::TestCase
+   end
+ 
+   def test_time
+-    obj = Time.at DateTime.new(2011, 11, 16, 13, 36, 8, Rational(-8,24)).strftime("%s").to_i
++    obj = Time.at(DateTime.new(2011, 11, 16, 13, 36, 8, Rational(-8,24)).strftime("%s").to_i).getgm
+     check <<-EOS, obj, 'xsd:dateTime', false
+-<root>2011-11-16T13:36:08-08:00</root>
++<root>2011-11-16T21:36:08Z</root>
+     EOS
+   end
+ 
+-- 
+1.8.1.4
+
diff --git a/rubygem-rbvmomi/0001-Fix-missing-runtime-info-properties.patch b/rubygem-rbvmomi/0001-Fix-missing-runtime-info-properties.patch
new file mode 100644
index 000000000..6cfef8e03
--- /dev/null
+++ b/rubygem-rbvmomi/0001-Fix-missing-runtime-info-properties.patch
@@ -0,0 +1,31 @@
+From 86fa3447643e890ffe26fe00ad57abb12565311e Mon Sep 17 00:00:00 2001
+From: Dominic Cleal <dcleal@redhat.com>
+Date: Tue, 11 Jun 2013 17:46:19 +0100
+Subject: [PATCH] Fix missing runtime info properties
+
+---
+ test/test_deserialization.rb | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/test/test_deserialization.rb b/test/test_deserialization.rb
+index a3b56c8..2cb8d85 100644
+--- a/test/test_deserialization.rb
++++ b/test/test_deserialization.rb
+@@ -252,11 +252,14 @@ end
+       :connectionState => "connected",
+       :dynamicProperty => [],
+       :faultToleranceState => "notConfigured",
++      :featureMask => [],
++      :featureRequirement => [],
+       :host => VIM::HostSystem(nil, "host-32"),
+       :maxCpuUsage => 5612,
+       :maxMemoryUsage => 3072,
+       :memoryOverhead => 128671744,
+       :numMksConnections => 1,
++      :offlineFeatureRequirement => [],
+       :powerState => "poweredOn",
+       :recordReplayState => "inactive",
+       :suspendInterval => 0,
+-- 
+1.8.1.4
+
diff --git a/rubygem-rbvmomi/rbvmomi-1.6.0.gem b/rubygem-rbvmomi/rbvmomi-1.6.0.gem
new file mode 120000
index 000000000..30cf1e88b
--- /dev/null
+++ b/rubygem-rbvmomi/rbvmomi-1.6.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/pG/Fj/SHA256E-s177664--a0cc77e0e916b255efe29427a767c4096ed4dadb7c7a2ec420064805e488b452.0.gem/SHA256E-s177664--a0cc77e0e916b255efe29427a767c4096ed4dadb7c7a2ec420064805e488b452.0.gem
\ No newline at end of file
diff --git a/rubygem-rbvmomi/rubygem-rbvmomi.spec b/rubygem-rbvmomi/rubygem-rbvmomi.spec
new file mode 100644
index 000000000..ac8807f9c
--- /dev/null
+++ b/rubygem-rbvmomi/rubygem-rbvmomi.spec
@@ -0,0 +1,140 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rbvmomi
+
+Summary: Ruby interface to the VMware vSphere API
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.6.0
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/rlane/rbvmomi
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# Fix test failure: https://github.com/vmware/rbvmomi/pull/19
+Patch0: 0001-Fix-missing-runtime-info-properties.patch
+# Fix test failure: https://github.com/vmware/rbvmomi/pull/18
+Patch1: 0001-Fix-assumption-that-the-time-test-is-always-in-0800.patch
+%if 0%{?fedora} && 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi)
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby >= 1.8.7
+Requires: %{?scl_prefix}rubygem(nokogiri) >= 1.4.1
+Requires: %{?scl_prefix}rubygem(builder)
+Requires: %{?scl_prefix}rubygem(trollop)
+%if 0%{?fedora} && 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi)
+%endif
+BuildRequires: %{?scl_prefix}rubygem(nokogiri) >= 1.4.1
+BuildRequires: %{?scl_prefix}rubygem(builder)
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby >= 1.8.7
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Ruby interface to the VMware vSphere API
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --bindir .%{_bindir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+patch -p1 < %{PATCH0}
+patch -p1 < %{PATCH1}
+popd
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}%{_bindir}
+cp -a .%{_bindir}/* \
+        %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+%check
+pushd %{buildroot}%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+testrb -I lib test/test_*.rb
+%{?scl:"}
+popd
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/LICENSE
+%{_bindir}/rbvmomish
+%{gem_instdir}/bin
+%{gem_libdir}
+%{gem_instdir}/vmodl.db
+%exclude %{gem_instdir}/.yardopts
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/VERSION
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/devel
+%{gem_instdir}/test
+%doc %{gem_instdir}/examples
+%{gem_instdir}/Rakefile
+
+%changelog
+* Thu Jan 23 2014 Dominic Cleal <dcleal@redhat.com> 1.6.0-2
+- Update spec for Fedora 19 with ruby(release) (dcleal@redhat.com)
+
+* Tue Jun 11 2013 Dominic Cleal <dcleal@redhat.com> 1.6.0-1
+- Rebase to rbvmomi 1.6.0 (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 1.2.3-7
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Feb 01 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.2.3-5
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Jul 21 2011 Michal Fojtik <mfojtik@redhat.com> - 1.2.3-3
+- Added vmodl.db back, since it's required dependency
+
+* Mon Jul 11 2011 Francesco Vollero <fvollero@redhat.com> - 1.2.3-2
+- Fix License to MIT
+- Removed the >= 0 versions from rubygems Requires
+- Add Requires and BuildRequires: ruby(abi) = 1.8
+- Executed the test suite.
+
+* Tue Jun 14 2011 Francesco Vollero <fvollero@redhat.com> - 1.2.3-1
+- Initial package
diff --git a/rubygem-rr/rr-1.0.5.gem b/rubygem-rr/rr-1.0.5.gem
new file mode 120000
index 000000000..6bd17be1d
--- /dev/null
+++ b/rubygem-rr/rr-1.0.5.gem
@@ -0,0 +1 @@
+../.git/annex/objects/67/Vm/SHA256E-s35840--0e05814e7bc621b7bc88a65d818457a5095986c2538487d57947f9ae07d58736.5.gem/SHA256E-s35840--0e05814e7bc621b7bc88a65d818457a5095986c2538487d57947f9ae07d58736.5.gem
\ No newline at end of file
diff --git a/rubygem-rr/ruby193-rubygem-rr.spec b/rubygem-rr/ruby193-rubygem-rr.spec
new file mode 100644
index 000000000..1aa8e0dae
--- /dev/null
+++ b/rubygem-rr/ruby193-rubygem-rr.spec
@@ -0,0 +1,174 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rr
+
+%global rubyabi 1.9.1
+  
+%if 0%{?fedora} >= 17
+  %global rubyabi 1.9.1
+%endif
+
+%if 0%{?fedora} >= 19
+  %global rubyabi 2.0.0
+%endif
+
+Summary: RR (Double Ruby) is a test double framework 
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.0.5
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://pivotallabs.com
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Source1: http://s3.amazonaws.com/rubygem-rr/tests/v%{version}.tar.gz
+
+%if 0%{?fedora} >= 19
+Requires:       %{?scl_prefix}ruby(release)
+%endif
+
+%if 0%{?fedora} >= 17 && 0%{?fedora} < 19
+Requires:      %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+
+%if 0%{?fedora} <= 17
+Requires: %{?scl_prefix}ruby(rubygems) 
+%endif
+
+BuildRequires: %{?scl_prefix}ruby-irb
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+# The following are for running test suite
+#BuildRequires: %{?scl_prefix}rubygem(minitest)
+#BuildRequires: %{?scl_prefix}rubygem(session)
+#BuildRequires: %{?scl_prefix}rubygem(diff-lcs)
+#BuildRequires: %{?scl_prefix}rubygem(rspec)
+
+%description
+RR (Double Ruby) is a test double framework that features a rich selection of
+double techniques and a terse syntax.
+
+A Test Double is a generalization of something that replaces a real object to
+make it easier to test another object. Its like a stunt double for tests.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+
+%setup -q -D -T -n %{gem_name}-%{version}
+
+# Modify the gemspec if necessary with a patch or sed
+# Also apply patches to code if necessary
+# %%patch0 -p1
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+# Create the gem as gem install only works on a gem file
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+# gem install compiles any C extensions and installs into a directory
+# We set that to be a local directory so that we can move it into the
+# buildroot in %%install
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --bindir ./%{_bindir} \
+        --force \
+        --rdoc \
+        --ri \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+
+%if 0%{?fedora} >= 19
+%gem_install
+%endif
+
+tar -xvzf %{SOURCE1}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+# Remove leftovers.
+rm  %{buildroot}%{gem_instdir}/Rakefile
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/CHANGES.md
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/VERSION
+%exclude %{gem_cache}
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/VERSION
+%{gem_spec}
+%{gem_libdir}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/spec
+#%%{gem_instdir}/benchmarks
+
+%changelog
+* Fri Jun 14 2013 Lukas Zapletal <lzap+git@redhat.com> 1.0.5-2
+- rubygem-rr scl changes
+
+* Sun Apr 21 2013 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.5-1
+- Updated version 1.0.5
+- Automated tests included 
+- rubygem(rspec) included as a build require
+
+* Sun Mar 24 2013 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.4-7
+- Removed unnecesary dependencies
+- Fixes for Ruby 2.0.0 packaging
+
+* Wed Feb 27 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.4-8
+- F-19: Rebuild for ruby 2.0.0
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sun Jul 22 2012 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.4-6
+- Removed unnecesary dependencies
+- Spec adjusted according new guidelines
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sun Feb 12 2012 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.4-4
+- Changelog entries fixed
+
+* Tue Feb 07 2012 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.4-3
+- Updated spec file for Ruby 1.9 guidelines
+- RSPec 1x tests disabled
+
+* Tue Jan 24 2012 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.4-2
+- Removed unused macro from spec file
+- Removed doc tag for benchmarks and spec file
+- Removed cached version of the gem
+- Fixed test suite files and test suite enabled at check section
+
+* Sat Jan 21 2012 Guillermo Gómez <guillermo.gomez@gmail.com> - 1.0.4-1
+- Initial package
diff --git a/rubygem-rr/v1.0.5.tar.gz b/rubygem-rr/v1.0.5.tar.gz
new file mode 120000
index 000000000..97f9d4c7e
--- /dev/null
+++ b/rubygem-rr/v1.0.5.tar.gz
@@ -0,0 +1 @@
+../.git/annex/objects/Gk/P0/SHA256E-s24314--5811581ee104150e7edfd32b287d471052c39a7ff3d9a21fd2d77b902ff882c9.tar.gz/SHA256E-s24314--5811581ee104150e7edfd32b287d471052c39a7ff3d9a21fd2d77b902ff882c9.tar.gz
\ No newline at end of file
diff --git a/rubygem-rspec-rails/rspec-rails-2.11.4.gem b/rubygem-rspec-rails/rspec-rails-2.11.4.gem
new file mode 120000
index 000000000..cacbdfd5d
--- /dev/null
+++ b/rubygem-rspec-rails/rspec-rails-2.11.4.gem
@@ -0,0 +1 @@
+../.git/annex/objects/14/M1/SHA256E-s62976--2551d88844c445583df355b7d74b100c8124b2bce85d9aa75fa42e9d514eca96.4.gem/SHA256E-s62976--2551d88844c445583df355b7d74b100c8124b2bce85d9aa75fa42e9d514eca96.4.gem
\ No newline at end of file
diff --git a/rubygem-rspec-rails/rubygem-rspec-rails.spec b/rubygem-rspec-rails/rubygem-rspec-rails.spec
new file mode 100644
index 000000000..621228960
--- /dev/null
+++ b/rubygem-rspec-rails/rubygem-rspec-rails.spec
@@ -0,0 +1,138 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from rspec-rails-2.6.0.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name rspec-rails
+%global rubyabi 1.9.1
+
+Summary: RSpec-2 for Rails-3
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.11.4
+
+# Circular dependency with rubygem-ammeter.
+%{!?enable_test: %global enable_test 0}
+
+Release: 3%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/rspec/rspec-rails
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}rubygem(activesupport) => 3.0
+Requires: %{?scl_prefix}rubygem(activesupport) < 4
+Requires: %{?scl_prefix}rubygem(actionpack) => 3.0
+Requires: %{?scl_prefix}rubygem(actionpack) < 4
+Requires: %{?scl_prefix}rubygem(railties) => 3.0
+Requires: %{?scl_prefix}rubygem(railties) < 4
+Requires: %{?scl_prefix}rubygem(rspec) => 2.11.0
+Requires: %{?scl_prefix}rubygem(rspec) < 2.12
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%if 0%{enable_test} > 0
+BuildRequires: %{?scl_prefix}rubygem(rspec) => 2.11.0
+BuildRequires: %{?scl_prefix}rubygem(rspec) < 2.12
+BuildRequires: %{?scl_prefix}rubygem(rails) => 3.0
+BuildRequires: %{?scl_prefix}rubygem(rails) < 4
+BuildRequires: %{?scl_prefix}rubygem(sqlite3)
+# because ZenTest is optional for rspec-core, but required here
+# (have been pulled by other dependencies with Ruby 1.8.7)
+BuildRequires: %{?scl_prefix}rubygem(ZenTest)
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildRequires: %{?scl_prefix}rubygem(ammeter)
+#BuildRequires: %{?scl_prefix}rubygem(cucumber)
+#BuildRequires: %{?scl_prefix}rubygem(aruba)
+%endif
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+RSpec-2 support for Rails-3
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires:%{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%if 0%{enable_test} > 0
+%check
+pushd .%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+rspec spec
+%{?scl:"}
+# Not working. Needs to be investigated.
+#cucumber
+popd
+%endif
+
+%files
+%dir %{gem_instdir}
+%exclude %{gem_instdir}/.*
+%doc %{gem_instdir}/License.txt
+%{gem_libdir}
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/Capybara.md
+%doc %{gem_instdir}/Changelog.md
+%doc %{gem_instdir}/README.md
+%{gem_instdir}/features
+%{gem_instdir}/spec
+
+%changelog
+* Tue Mar 12 2013 Miroslav Suchý <msuchy@redhat.com> 2.11.4-2
+- spec2scl -i rubygem-rspec-rails.spec (msuchy@redhat.com)
+- rebase to newer rubygem-rspec-rails (msuchy@redhat.com)
+
+* Tue Oct 16 2012 Vít Ondruch <vondruch@redhat.com> - 2.11.4-1
+- Update to rspec-rails 2.11.4.
+
+* Sat Oct 13 2012 Vít Ondruch <vondruch@redhat.com> - 2.11.0-1
+- Update to rspec-rails 2.11.0.
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Feb 06 2012 Vít Ondruch <vondruch@redhat.com> - 2.8.1-2
+- Tests enabled.
+
+* Thu Feb 02 2012 Vít Ondruch <vondruch@redhat.com> - 2.8.1-1
+- Rebuilt for Ruby 1.9.3.
+- Update to rspec-rails 2.8.1.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Oct 20 2011 Vít Ondruch <vondruch@redhat.com> - 2.6.1-3
+- Fixed .gemspec to contain correct dependencies (rhbz#747405).
+
+* Tue Aug 23 2011 Vít Ondruch <vondruch@redhat.com> - 2.6.1-2
+- Rebuilt due to the trailing slash bug of rpm-4.9.1
+
+* Tue Jun 07 2011 Vít Ondruch <vondruch@redhat.com> - 2.6.1-1
+- Updated to the rspec-rails 2.6.1
+
+* Mon May 23 2011 Vít Ondruch <vondruch@redhat.com> - 2.6.0-1
+- Initial package
diff --git a/rubygem-ruby-libvirt/ruby-libvirt-0.5.1.gem b/rubygem-ruby-libvirt/ruby-libvirt-0.5.1.gem
new file mode 120000
index 000000000..d6a626bd6
--- /dev/null
+++ b/rubygem-ruby-libvirt/ruby-libvirt-0.5.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/kG/9P/SHA256E-s109056--6379b8b5565eed1539a25696bdfc381da5311a49113fd523f8a7eae873db924d.1.gem/SHA256E-s109056--6379b8b5565eed1539a25696bdfc381da5311a49113fd523f8a7eae873db924d.1.gem
\ No newline at end of file
diff --git a/rubygem-ruby-libvirt/rubygem-ruby-libvirt.spec b/rubygem-ruby-libvirt/rubygem-ruby-libvirt.spec
new file mode 100644
index 000000000..2cd3c2b2b
--- /dev/null
+++ b/rubygem-ruby-libvirt/rubygem-ruby-libvirt.spec
@@ -0,0 +1,110 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from ruby-libvirt-0.4.0.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name ruby-libvirt
+%global rubyabi 1.9.1
+
+Summary: Ruby bindings for LIBVIRT
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.5.1
+Release: 1%{?dist}
+Group: Development/Languages
+License: LGPLv2+
+URL: http://libvirt.org/ruby/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: libvirt-devel
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Ruby bindings for libvirt.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            -V \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+# remove shebangs from test files
+pushd %{buildroot}%{gem_instdir}/tests
+find -type f -name '*.rb' -print | xargs sed -i '/#!\/usr\/bin\/ruby/d'
+popd
+
+mkdir -p %{buildroot}%{gem_extdir}/lib
+mv %{buildroot}%{gem_instdir}/lib/_libvirt.so %{buildroot}%{gem_extdir}/lib/
+
+# Remove the binary extension sources and build leftovers.
+rm -rf %{buildroot}%{gem_instdir}/ext
+
+%check
+pushd .%{gem_instdir}
+# I disabled the tests because they modify system in possibly
+# dangerous way and need to be run with root privileges
+%{?scl:scl enable %{scl} "}
+# testrb tests
+%{?scl:"}
+popd
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/COPYING
+%{gem_libdir}
+%{gem_extdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/NEWS
+%doc %{gem_instdir}/README
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/tests
+
+%changelog
+* Mon Dec 16 2013 Dominic Cleal <dcleal@redhat.com> 0.5.1-1
+- Update to ruby-libvirt 0.5.1 (dcleal@redhat.com)
+
+* Fri Oct 04 2013 Sam Kottler <shk@redhat.com> 0.4.0-9
+- Remove requires: libvirt (shk@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 0.4.0-4
+- fix BR (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 0.4.0-3
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Jul 02 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 0.4.0-1
+- Initial package
diff --git a/rubygem-ruby2ruby/ruby2ruby-2.0.1.gem b/rubygem-ruby2ruby/ruby2ruby-2.0.1.gem
new file mode 120000
index 000000000..be99342f6
--- /dev/null
+++ b/rubygem-ruby2ruby/ruby2ruby-2.0.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/qM/Ff/SHA256E-s19968--52aea61d7b8a7b3eab4daafbd448ab14688f73bb9f5cd109096a14977db7a5f8.1.gem/SHA256E-s19968--52aea61d7b8a7b3eab4daafbd448ab14688f73bb9f5cd109096a14977db7a5f8.1.gem
\ No newline at end of file
diff --git a/rubygem-ruby2ruby/rubygem-ruby2ruby.spec b/rubygem-ruby2ruby/rubygem-ruby2ruby.spec
new file mode 100644
index 000000000..32ee5dd66
--- /dev/null
+++ b/rubygem-ruby2ruby/rubygem-ruby2ruby.spec
@@ -0,0 +1,155 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from ruby2ruby-1.2.4.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name ruby2ruby
+
+%global rubyabi 1.9.1
+
+
+Summary: Generate pure ruby from RubyParser compatible Sexps
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.0.1
+Release: 7%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://seattlerb.rubyforge.org/ruby2ruby/
+Source0: http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygem(sexp_processor) >= 4.0
+Requires: %{?scl_prefix}rubygem(ruby_parser)
+Requires: %{?scl_prefix}ruby(rubygems)
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildRequires: %{?scl_prefix}rubygem(sexp_processor)
+BuildRequires: %{?scl_prefix}rubygem(ruby_parser)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+ruby2ruby provides a means of generating pure ruby code easily from
+RubyParser compatible Sexps. This makes making dynamic language
+processors in ruby easier than ever!
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+This package contains documentation for %{pkg_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+%build
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install -V \
+  --local \
+  --install-dir $(pwd)/%{gem_dir} \
+  --force --rdoc \
+  %{SOURCE0}
+%{?scl:"}
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}/%{_bindir}
+mv %{buildroot}%{gem_dir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{buildroot}%{gem_dir}/bin
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+# Drop the standalone mode for tests - won't run that way due to missing 
+# rubygems require anyway.
+find %{buildroot}%{gem_instdir}/test -type f | \
+  xargs -n 1 sed -i  -e '/^#!\/usr\/.*\/ruby.*/d'
+find %{buildroot}%{gem_libdir} -type f | \
+  xargs -n 1 sed -i  -e '/^#!\/usr\/bin\/env.*/d'
+# Ships with extremely tight permissions, bring them inline with other gems
+find %{buildroot}%{gem_instdir} -type f | \
+  xargs chmod 0644
+find %{buildroot}%{gem_instdir}/bin -type f | \
+  xargs chmod 0755
+sed -i '1,$s/<ruby_parser>, \["~> 3.0.0"]/<ruby_parser>/g' %{buildroot}/%{gem_spec}
+
+%files
+%{_bindir}/r2r_show
+%doc %{gem_instdir}/History.txt
+%doc %{gem_instdir}/Manifest.txt
+%doc %{gem_instdir}/README.txt
+%dir %{gem_instdir}
+%{gem_instdir}/bin
+%{gem_libdir}
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/.autotest
+%{gem_instdir}/.gemtest
+%{gem_instdir}/test
+%{gem_docdir}
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 2.0.1-7
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 20 2013 Miroslav Suchý <msuchy@redhat.com> 2.0.1-5
+- soften requires even in gemspec (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 2.0.1-4
+- soften requires (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 2.0.1-3
+- rebase to ruby2ruby-2.0.1 (msuchy@redhat.com)
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 2.0.1-2
+- add libdir macro to el6 (msuchy@redhat.com)
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 2.0.1-1
+- new package built with tito
+
+* Fri Nov 30 2012 Mo Morsi <mmorsi@redhat.com> - 2.0.1-2
+- Add missing file
+
+* Fri Nov 30 2012 Mo Morsi <mmorsi@redhat.com> - 2.0.1-1
+- Update to new upstream release
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.4-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Jan 30 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.2.4-6
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Aug 08 2011 Mo Morsi <mmorsi@redhat.com> - 1.2.4-4
+- replace BR(check) w/ BR
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sun Nov 29 2009 Matthew Kent <mkent@magoazul.com> - 1.2.4-2
+- Move pt_testcase.rb to the build stage so it's included in the rpm (#541512).
+- Drop version requirements for sexp_processor and ruby_parser as they are new
+  packages (#541512).
+
+* Mon Nov 16 2009 Matthew Kent <mkent@magoazul.com> - 1.2.4-1
+- Initial package
diff --git a/rubygem-ruby_parser/pt_testcase.rb b/rubygem-ruby_parser/pt_testcase.rb
new file mode 100644
index 000000000..97cb77f3f
--- /dev/null
+++ b/rubygem-ruby_parser/pt_testcase.rb
@@ -0,0 +1,4417 @@
+$TESTING = true
+
+require 'minitest/unit'
+require 'sexp_processor' # for deep_clone
+
+# key:
+# wwtt = what were they thinking?
+
+# TODO: <ko1_> 1.8.7 support {|&b|} syntax
+
+class Examples
+  attr_reader :reader
+  attr_writer :writer
+
+  def a_method(x); x+1; end
+  alias an_alias a_method
+
+  define_method(:bmethod_noargs) do
+    x + 1
+  end
+
+  define_method(:unsplatted) do |x|
+    x + 1
+  end
+
+  define_method :splatted do |*args|
+    y = args.first
+    y + 42
+  end
+
+  define_method :dmethod_added, instance_method(:a_method) if
+    RUBY_VERSION < "1.9"
+end
+
+class ParseTreeTestCase < MiniTest::Unit::TestCase
+  attr_accessor :processor # to be defined by subclass
+
+  def setup
+    super
+    @processor = nil
+  end
+
+  def after_process_hook klass, node, data, input_name, output_name
+  end
+
+  def before_process_hook klass, node, data, input_name, output_name
+  end
+
+  def self.add_test name, data, klass = self.name[4..-1]
+    name = name.to_s
+    klass = klass.to_s
+
+    if testcases.has_key? name then
+      if testcases[name].has_key? klass then
+        warn "testcase #{klass}##{name} already has data"
+      else
+        testcases[name][klass] = data
+      end
+    else
+      warn "testcase #{name} does not exist"
+    end
+  end
+
+  def self.add_tests name, hash
+    name = name.to_s
+
+    hash.each do |klass, data|
+      warn "testcase #{klass}##{name} already has data" if
+        testcases[name].has_key? klass
+      testcases[name][klass] = data
+    end
+  end
+
+  def self.clone_same
+    @@testcases.each do |node, data|
+      data.each do |key, val|
+        if val == :same then
+          prev_key = self.previous(key)
+          data[key] = data[prev_key].deep_clone
+        end
+      end
+    end
+  end
+
+  def self.copy_test_case nonverbose, klass
+    verbose = nonverbose + "_mri_verbose_flag"
+    testcases[verbose][klass] = testcases[nonverbose][klass]
+  end
+
+  def self.generate_test klass, node, data, input_name, output_name
+    klass.send(:define_method, "test_#{node}".to_sym) do
+      flunk "Processor is nil" if processor.nil?
+
+      assert data.has_key?(input_name), "Unknown input data"
+      assert data.has_key?(output_name), "Missing test data"
+
+      $missing[node] << output_name unless data.has_key? output_name
+
+      input    = data[input_name].deep_clone
+      expected = data[output_name].deep_clone
+
+      case expected
+      when :unsupported then
+        assert_raises(UnsupportedNodeError) do
+          processor.process(input)
+        end
+      else
+        extra_expected = []
+        extra_input = []
+
+        _, expected, extra_expected = *expected if
+          Array === expected and expected.first == :defx
+        _, input, extra_input = *input if
+          Array === input and input.first == :defx
+
+        # OMG... I can't believe I have to do this this way.  these
+        # hooks are here instead of refactoring this define_method
+        # body into an assertion. It'll allow subclasses to hook in
+        # and add behavior before or after the processor does it's
+        # thing. If you go the body refactor route, some of the
+        # RawParseTree test casese fail for completely bogus reasons.
+
+        before_process_hook klass, node, data, input_name, output_name
+        refute_nil data[input_name], "testcase does not exist?"
+        @result = processor.process input
+        assert_equal(expected, @result,
+                     "failed on input: #{data[input_name].inspect}")
+        after_process_hook klass, node, data, input_name, output_name
+
+        extra_input.each do |extra|
+          processor.process(extra)
+        end
+        extra = processor.extra_methods rescue []
+        assert_equal extra_expected, extra
+      end
+    end
+  end
+
+  def self.generate_tests klass
+    install_missing_reporter
+    clone_same
+
+    output_name = klass.name.to_s.sub(/^Test/, '')
+
+    input_name = self.previous(output_name)
+
+    @@testcases.each do |node, data|
+      next if [:skip, :unsupported].include? data[input_name]
+      next if data[output_name] == :skip
+
+      generate_test klass, node, data, input_name, output_name
+    end
+  end
+
+  def self.inherited klass
+    super
+
+    generate_tests klass unless klass.name =~ /TestCase/
+  end
+
+  def self.install_missing_reporter
+    unless defined? $missing then
+      $missing = Hash.new { |h,k| h[k] = [] }
+      at_exit {
+        at_exit {
+          warn ""
+          $missing.sort.each do |name, klasses|
+            warn "add_tests(#{name.inspect},"
+            klasses.map! { |klass| "          #{klass.inspect} => :same" }
+            warn klasses.join("\n") + ")"
+          end
+          warn ""
+        }
+      }
+    end
+  end
+
+  def self.previous(key, extra=0) # FIX: remove R2C code
+    idx = @@testcase_order.index(key)
+
+    raise "Unknown class #{key} in @@testcase_order" if idx.nil?
+
+    case key
+    when "RubyToRubyC" then
+      idx -= 1
+    end
+    @@testcase_order[idx - 1 - extra]
+  end
+
+  def self.testcase_order; @@testcase_order; end
+  def self.testcases; @@testcases; end
+
+  def self.unsupported_tests *tests
+    tests.flatten.each do |name|
+      add_test name, :unsupported
+    end
+  end
+
+  ############################################################
+  # Shared TestCases:
+
+  @@testcase_order = %w(Ruby RawParseTree ParseTree)
+
+  @@testcases = Hash.new { |h,k| h[k] = {} }
+
+  add_tests("alias",
+            "Ruby"         => "class X\n  alias :y :x\nend",
+            "RawParseTree" => [:class, :X, nil,
+                               [:scope, [:alias, [:lit, :y], [:lit, :x]]]],
+            "ParseTree"    => s(:class, :X, nil,
+                                s(:scope, s(:alias, s(:lit, :y), s(:lit, :x)))))
+
+  add_tests("alias_ugh",
+            "Ruby"         => "class X\n  alias y x\nend",
+            "RawParseTree" => [:class, :X, nil,
+                               [:scope, [:alias, [:lit, :y], [:lit, :x]]]],
+            "ParseTree"    => s(:class, :X, nil,
+                                s(:scope, s(:alias, s(:lit, :y), s(:lit, :x)))),
+            "Ruby2Ruby"    => "class X\n  alias :y :x\nend")
+
+  add_tests("and",
+            "Ruby"         => "(a and b)",
+            "RawParseTree" => [:and, [:vcall, :a], [:vcall, :b]],
+            "ParseTree"    => s(:and,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:call, nil, :b, s(:arglist))))
+
+  add_tests("argscat_inside",
+            "Ruby"         => "a = [b, *c]",
+            "RawParseTree" => [:lasgn, :a,
+                               [:argscat,
+                                [:array, [:vcall, :b]], [:vcall, :c]]],
+            "ParseTree"    => s(:lasgn, :a,
+                                s(:array,
+                                  s(:call, nil, :b, s(:arglist)),
+                                  s(:splat, s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("argscat_svalue",
+            "Ruby"         => "a = b, c, *d",
+            "RawParseTree" => [:lasgn, :a,
+                               [:svalue,
+                                [:argscat,
+                                 [:array, [:vcall, :b], [:vcall, :c]],
+                                 [:vcall, :d]]]],
+            "ParseTree"    => s(:lasgn, :a,
+                                s(:svalue,
+                                  s(:array,
+                                    s(:call, nil, :b, s(:arglist)),
+                                    s(:call, nil, :c, s(:arglist)),
+                                    s(:splat,
+                                      s(:call, nil, :d, s(:arglist)))))))
+
+  add_tests("argspush",
+            "Ruby"         => "a[*b] = c",
+            "RawParseTree" => [:attrasgn,
+                               [:vcall, :a],
+                               :[]=,
+                               [:argspush,
+                                [:splat,
+                                 [:vcall, :b]],
+                                [:vcall, :c]]],
+            "ParseTree"    => s(:attrasgn,
+                                s(:call, nil, :a, s(:arglist)),
+                                :[]=,
+                                s(:arglist,
+                                  s(:splat,
+                                    s(:call, nil, :b, s(:arglist))),
+                                  s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("array",
+            "Ruby"         => "[1, :b, \"c\"]",
+            "RawParseTree" => [:array, [:lit, 1], [:lit, :b], [:str, "c"]],
+            "ParseTree"    => s(:array, s(:lit, 1), s(:lit, :b), s(:str, "c")))
+
+  add_tests("array_pct_W",
+            "Ruby"         => "%W[a b c]",
+            "RawParseTree" => [:array, [:str, "a"], [:str, "b"], [:str, "c"]],
+            "ParseTree"    => s(:array,
+                                s(:str, "a"), s(:str, "b"), s(:str, "c")),
+            "Ruby2Ruby"    => "[\"a\", \"b\", \"c\"]")
+
+  add_tests("array_pct_W_dstr",
+            "Ruby"         => "%W[a #\{@b} c]",
+            "RawParseTree" => [:array,
+                               [:str, "a"],
+                               [:dstr, "", [:evstr, [:ivar, :@b]]],
+                               [:str, "c"]],
+            "ParseTree"    => s(:array,
+                                s(:str, "a"),
+                                s(:dstr, "", s(:evstr, s(:ivar, :@b))),
+                                s(:str, "c")),
+            "Ruby2Ruby"    => "[\"a\", \"#\{@b}\", \"c\"]")
+
+  add_tests("array_pct_w",
+            "Ruby"         => "%w[a b c]",
+            "RawParseTree" => [:array, [:str, "a"], [:str, "b"], [:str, "c"]],
+            "ParseTree"    => s(:array,
+                                s(:str, "a"), s(:str, "b"), s(:str, "c")),
+            "Ruby2Ruby"    => "[\"a\", \"b\", \"c\"]")
+
+  add_tests("array_pct_w_dstr",
+            "Ruby"         => "%w[a #\{@b} c]",
+            "RawParseTree" => [:array,
+                               [:str, "a"],
+                               [:str, "#\{@b}"],
+                               [:str, "c"]],
+            "ParseTree"    => s(:array,
+                                s(:str, "a"),
+                                s(:str, "#\{@b}"),
+                                s(:str, "c")),
+            "Ruby2Ruby"    => "[\"a\", \"\\\#{@b}\", \"c\"]") # TODO: huh?
+
+  add_tests("attrasgn",
+            "Ruby"         => "y = 0\n42.method = y\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :y, [:lit, 0]],
+                               [:attrasgn, [:lit, 42], :method=,
+                                [:array, [:lvar, :y]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :y, s(:lit, 0)),
+                                s(:attrasgn, s(:lit, 42), :method=,
+                                  s(:arglist, s(:lvar, :y)))))
+
+  add_tests("attrasgn_index_equals",
+            "Ruby"         => "a[42] = 24",
+            "RawParseTree" => [:attrasgn, [:vcall, :a], :[]=,
+                               [:array, [:lit, 42], [:lit, 24]]],
+            "ParseTree"    => s(:attrasgn,
+                                s(:call, nil, :a, s(:arglist)),
+                                :[]=,
+                                s(:arglist, s(:lit, 42), s(:lit, 24))))
+
+  add_tests("attrasgn_index_equals_space",
+            "Ruby"         => "a = []; a [42] = 24",
+            "RawParseTree" => [:block,
+                               [:lasgn, :a, [:zarray]],
+                               [:attrasgn, [:lvar, :a], :[]=,
+                                [:array, [:lit, 42], [:lit, 24]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :a, s(:array)),
+                                s(:attrasgn, s(:lvar, :a), :[]=,
+                                  s(:arglist, s(:lit, 42), s(:lit, 24)))),
+            "Ruby2Ruby"    => "a = []\na[42] = 24\n")
+
+  add_tests("attrset",
+            "Ruby"         => [Examples, :writer=],
+            "RawParseTree" => [:defn, :writer=, [:attrset, :@writer]],
+            "ParseTree"    => s(:defn, :writer=,
+                                s(:args, :arg),
+                                s(:attrset, :@writer)),
+            "Ruby2Ruby"    => "attr_writer :writer")
+
+  add_tests("back_ref",
+            "Ruby"         => "[$&, $`, $', $+]",
+            "RawParseTree" => [:array,
+                               [:back_ref, :&],
+                               [:back_ref, :"`"],
+                               [:back_ref, :"'"],
+                               [:back_ref, :+]],
+            "ParseTree"    => s(:array,
+                                s(:back_ref, :&),
+                                s(:back_ref, :"`"),
+                                s(:back_ref, :"'"),
+                                s(:back_ref, :+)))
+
+  add_tests("begin",
+            "Ruby"         => "begin\n  (1 + 1)\nend",
+            "RawParseTree" => [:call, [:lit, 1], :+, [:array, [:lit, 1]]],
+            "ParseTree"    => s(:call, s(:lit, 1), :+,
+                                s(:arglist, s(:lit, 1))),
+            "Ruby2Ruby"    => "(1 + 1)")
+
+  add_tests("begin_def",
+            "Ruby"         => "def m\n  begin\n\n  end\nend",
+            "RawParseTree" => [:defn, :m, [:scope, [:block, [:args], [:nil]]]],
+            "ParseTree"    => s(:defn, :m, s(:args),
+                                s(:scope, s(:block, s(:nil)))),
+            "Ruby2Ruby"    => "def m\n  # do nothing\nend")
+
+  add_tests("begin_rescue_ensure",
+            "Ruby"         => "begin\n  a\nrescue\n  # do nothing\nensure\n  # do nothing\nend",
+            "RawParseTree" => [:ensure,
+                               [:rescue,
+                                [:vcall, :a],
+                                [:resbody, nil]],
+                               [:nil]],
+            "ParseTree"    => s(:ensure,
+                                s(:rescue,
+                                  s(:call, nil, :a, s(:arglist)),
+                                  s(:resbody, s(:array), nil)),
+                                s(:nil)))
+
+  add_tests("begin_rescue_ensure_all_empty",
+            "Ruby"         => "begin\n  # do nothing\nrescue\n  # do nothing\nensure\n  # do nothing\nend",
+            "RawParseTree" => [:ensure,
+                               [:rescue,
+                                [:resbody, nil]],
+                               [:nil]],
+            "ParseTree"    => s(:ensure,
+                                s(:rescue,
+                                  s(:resbody, s(:array), nil)),
+                                s(:nil)))
+
+  add_tests("begin_rescue_twice",
+            "Ruby"         => "begin\n  a\nrescue => mes\n  # do nothing\nend\nbegin\n  b\nrescue => mes\n  # do nothing\nend\n",
+            "RawParseTree" => [:block,
+                               [:rescue,
+                                [:vcall, :a],
+                                [:resbody, nil,
+                                 [:lasgn, :mes, [:gvar, :$!]]]],
+                               [:rescue,
+                                [:vcall, :b],
+                                [:resbody, nil,
+                                 [:lasgn, :mes, [:gvar, :$!]]]]],
+            "ParseTree"    => s(:block,
+                                s(:rescue,
+                                  s(:call, nil, :a, s(:arglist)),
+                                  s(:resbody,
+                                    s(:array, s(:lasgn, :mes, s(:gvar, :$!))),
+                                    nil)),
+                                s(:rescue,
+                                  s(:call, nil, :b, s(:arglist)),
+                                  s(:resbody,
+                                    s(:array,
+                                      s(:lasgn, :mes, s(:gvar, :$!))),
+                                    nil))))
+
+  add_tests("begin_rescue_twice_mri_verbose_flag",
+            "RawParseTree" => [:block,
+                               [:rescue,                # no begin
+                                [:vcall, :a],
+                                [:resbody, nil,
+                                 [:lasgn, :mes, [:gvar, :$!]]]],
+                               [:rescue,
+                                [:vcall, :b],
+                                [:resbody, nil,
+                                 [:lasgn, :mes, [:gvar, :$!]]]]])
+
+  copy_test_case "begin_rescue_twice", "Ruby"
+  copy_test_case "begin_rescue_twice", "ParseTree"
+
+  add_tests("block_attrasgn",
+            "Ruby" => "def self.setup(ctx)\n  bind = allocate\n  bind.context = ctx\n  return bind\nend",
+            "RawParseTree" => [:defs, [:self], :setup,
+                               [:scope,
+                                [:block,
+                                 [:args, :ctx],
+                                 [:lasgn, :bind, [:vcall, :allocate]],
+                                 [:attrasgn, [:lvar, :bind], :context=,
+                                  [:array, [:lvar, :ctx]]],
+                                 [:return, [:lvar, :bind]]]]],
+            "ParseTree" => s(:defs, s(:self), :setup,
+                             s(:args, :ctx),
+                             s(:scope,
+                               s(:block,
+                                 s(:lasgn, :bind,
+                                   s(:call, nil, :allocate, s(:arglist))),
+                                 s(:attrasgn, s(:lvar, :bind), :context=,
+                                   s(:arglist, s(:lvar, :ctx))),
+                                 s(:return, s(:lvar, :bind))))))
+
+
+  add_tests("block_lasgn",
+            "Ruby"         => "x = (y = 1\n(y + 2))",
+            "RawParseTree" => [:lasgn, :x,
+                               [:block,
+                                [:lasgn, :y, [:lit, 1]],
+                                [:call, [:lvar, :y], :+, [:array, [:lit, 2]]]]],
+            "ParseTree"    => s(:lasgn, :x,
+                                s(:block,
+                                  s(:lasgn, :y, s(:lit, 1)),
+                                  s(:call, s(:lvar, :y), :+,
+                                    s(:arglist, s(:lit, 2))))))
+
+  add_tests("block_mystery_block",
+            "Ruby"         => "a(b) do\n  if b then\n    true\n  else\n    c = false\n    d { |x| c = true }\n    c\n  end\nend",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a, [:array, [:vcall, :b]]],
+                               nil,
+                               [:if,
+                                [:vcall, :b],
+                                [:true],
+                                [:block,
+                                 [:dasgn_curr, :c, [:false]],
+                                 [:iter,
+                                  [:fcall, :d],
+                                  [:dasgn_curr, :x],
+                                  [:dasgn, :c, [:true]]],
+                                 [:dvar, :c]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a,
+                                  s(:arglist, s(:call, nil, :b, s(:arglist)))),
+                                nil,
+                                s(:if,
+                                  s(:call, nil, :b, s(:arglist)),
+                                  s(:true),
+                                  s(:block,
+                                    s(:lasgn, :c, s(:false)),
+                                    s(:iter,
+                                      s(:call, nil, :d, s(:arglist)),
+                                      s(:lasgn, :x),
+                                      s(:lasgn, :c, s(:true))),
+                                    s(:lvar, :c)))))
+
+  add_tests("block_pass_args_and_splat",
+            "Ruby"         => "def blah(*args, &block)\n  other(42, *args, &block)\nend",
+            "RawParseTree" => [:defn, :blah,
+                               [:scope,
+                                [:block,
+                                 [:args, :"*args"],
+                                 [:block_arg, :block],
+                                 [:block_pass,
+                                  [:lvar, :block],
+                                  [:fcall, :other,
+                                   [:argscat,
+                                    [:array, [:lit, 42]], [:lvar, :args]]]]]]],
+            "ParseTree"    => s(:defn, :blah,
+                                s(:args, :"*args", :"&block"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :other,
+                                      s(:arglist,
+                                        s(:lit, 42),
+                                        s(:splat, s(:lvar, :args)),
+                                        s(:block_pass, s(:lvar, :block))))))))
+
+  add_tests("block_pass_call_0",
+            "Ruby"         => "a.b(&c)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :c], [:call, [:vcall, :a], :b]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :a, s(:arglist)),
+                                :b,
+                                s(:arglist,
+                                  s(:block_pass,
+                                    s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("block_pass_call_1",
+            "Ruby"         => "a.b(4, &c)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :c],
+                               [:call, [:vcall, :a], :b, [:array, [:lit, 4]]]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :a, s(:arglist)),
+                                :b,
+                                s(:arglist,
+                                  s(:lit, 4),
+                                  s(:block_pass,
+                                    s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("block_pass_call_n",
+            "Ruby"         => "a.b(1, 2, 3, &c)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :c],
+                               [:call, [:vcall, :a], :b,
+                                [:array, [:lit, 1], [:lit, 2], [:lit, 3]]]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :a, s(:arglist)),
+                                :b,
+                                s(:arglist,
+                                  s(:lit, 1), s(:lit, 2), s(:lit, 3),
+                                  s(:block_pass,
+                                    s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("block_pass_fcall_0",
+            "Ruby"         => "a(&b)",
+            "RawParseTree" => [:block_pass, [:vcall, :b], [:fcall, :a]],
+            "ParseTree"    => s(:call, nil, :a,
+                                s(:arglist,
+                                  s(:block_pass,
+                                    s(:call, nil, :b, s(:arglist))))))
+
+  add_tests("block_pass_fcall_1",
+            "Ruby"         => "a(4, &b)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :b],
+                               [:fcall, :a, [:array, [:lit, 4]]]],
+            "ParseTree"    => s(:call, nil, :a,
+                                s(:arglist,
+                                  s(:lit, 4),
+                                  s(:block_pass,
+                                    s(:call, nil, :b, s(:arglist))))))
+
+  add_tests("block_pass_fcall_n",
+            "Ruby"         => "a(1, 2, 3, &b)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :b],
+                               [:fcall, :a,
+                                [:array, [:lit, 1], [:lit, 2], [:lit, 3]]]],
+            "ParseTree"    => s(:call, nil, :a,
+                                s(:arglist,
+                                  s(:lit, 1), s(:lit, 2), s(:lit, 3),
+                                  s(:block_pass,
+                                    s(:call, nil, :b, s(:arglist))))))
+
+  add_tests("block_pass_omgwtf",
+            "Ruby"         => "define_attr_method(:x, :sequence_name, &Proc.new { |*args| nil })",
+            "RawParseTree" => [:block_pass,
+                               [:iter,
+                                [:call, [:const, :Proc], :new],
+                                [:masgn, nil, [:dasgn_curr, :args], nil],
+                                [:nil]],
+                               [:fcall, :define_attr_method,
+                                [:array, [:lit, :x], [:lit, :sequence_name]]]],
+            "ParseTree"    => s(:call, nil, :define_attr_method,
+                                s(:arglist,
+                                  s(:lit, :x),
+                                  s(:lit, :sequence_name),
+                                  s(:block_pass,
+                                    s(:iter,
+                                      s(:call, s(:const, :Proc), :new,
+                                        s(:arglist)),
+                                      s(:masgn,
+                                        s(:array, s(:splat, s(:lasgn, :args)))),
+                                      s(:nil))))))
+
+  add_tests("block_pass_splat",
+            "Ruby"         => "def blah(*args, &block)\n  other(*args, &block)\nend",
+            "RawParseTree" => [:defn, :blah,
+                               [:scope,
+                                [:block,
+                                 [:args, :"*args"],
+                                 [:block_arg, :block],
+                                 [:block_pass,
+                                  [:lvar, :block],
+                                  [:fcall, :other,
+                                   [:splat, [:lvar, :args]]]]]]],
+            "ParseTree"    => s(:defn, :blah,
+                                s(:args, :"*args", :"&block"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :other,
+                                      s(:arglist,
+                                        s(:splat, s(:lvar, :args)),
+                                        s(:block_pass, s(:lvar, :block))))))))
+
+  add_tests("block_pass_thingy",
+            "Ruby"         => "r.read_body(dest, &block)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :block],
+                               [:call, [:vcall, :r], :read_body,
+                                [:array, [:vcall, :dest]]]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :r, s(:arglist)),
+                                :read_body,
+                                s(:arglist,
+                                  s(:call, nil, :dest, s(:arglist)),
+                                  s(:block_pass,
+                                    s(:call, nil, :block, s(:arglist))))))
+
+  add_tests("block_stmt_after",
+            "Ruby"         => "def f\n  begin\n    b\n  rescue\n    c\n  end\n\n  d\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:rescue,
+                                  [:vcall, :b],
+                                  [:resbody, nil, [:vcall, :c]]],
+                                 [:vcall, :d]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:rescue,
+                                      s(:call, nil, :b, s(:arglist)),
+                                      s(:resbody,
+                                        s(:array),
+                                        s(:call, nil, :c, s(:arglist)))),
+                                    s(:call, nil, :d, s(:arglist))))),
+            "Ruby2Ruby"    => "def f\n  b rescue c\n  d\nend")
+
+  add_tests("block_stmt_after_mri_verbose_flag",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:rescue,              # no begin
+                                  [:vcall, :b],
+                                  [:resbody, nil, [:vcall, :c]]],
+                                 [:vcall, :d]]]])
+
+  copy_test_case "block_stmt_after", "Ruby"
+  copy_test_case "block_stmt_after", "ParseTree"
+  copy_test_case "block_stmt_after", "Ruby2Ruby"
+
+  add_tests("block_stmt_before",
+            "Ruby"         => "def f\n  a\n  begin\n    b\n  rescue\n    c\n  end\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:vcall, :a],
+                                 [:rescue, [:vcall, :b],
+                                  [:resbody, nil, [:vcall, :c]]]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :a, s(:arglist)),
+                                    s(:rescue, s(:call, nil, :b, s(:arglist)),
+                                      s(:resbody,
+                                        s(:array),
+                                        s(:call, nil, :c, s(:arglist))))))),
+            "Ruby2Ruby"    => "def f\n  a\n  b rescue c\nend")
+
+  # oddly... this one doesn't HAVE any differences when verbose... new?
+  copy_test_case "block_stmt_before", "Ruby"
+  copy_test_case "block_stmt_before", "ParseTree"
+  copy_test_case "block_stmt_before", "RawParseTree"
+  copy_test_case "block_stmt_before", "Ruby2Ruby"
+
+  add_tests("block_stmt_both",
+            "Ruby"         => "def f\n  a\n  begin\n    b\n  rescue\n    c\n  end\n  d\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:vcall, :a],
+                                 [:rescue,
+                                  [:vcall, :b],
+                                  [:resbody,
+                                   nil,
+                                   [:vcall, :c]]],
+                                 [:vcall, :d]]]],
+            "ParseTree"    => s(:defn, :f, s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :a, s(:arglist)),
+                                    s(:rescue,
+                                      s(:call, nil, :b, s(:arglist)),
+                                      s(:resbody,
+                                        s(:array),
+                                        s(:call, nil, :c, s(:arglist)))),
+                                    s(:call, nil, :d, s(:arglist))))),
+            "Ruby2Ruby"    => "def f\n  a\n  b rescue c\n  d\nend")
+
+  add_tests("block_stmt_both_mri_verbose_flag",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:vcall, :a],
+                                 [:rescue,              # no begin
+                                  [:vcall, :b],
+                                  [:resbody,
+                                   nil,
+                                   [:vcall, :c]]],
+                                 [:vcall, :d]]]])
+
+  copy_test_case "block_stmt_both", "Ruby"
+  copy_test_case "block_stmt_both", "ParseTree"
+  copy_test_case "block_stmt_both", "Ruby2Ruby"
+
+  add_tests("bmethod",
+            "Ruby"         => [Examples, :unsplatted],
+            "RawParseTree" => [:defn, :unsplatted,
+                               [:bmethod,
+                                [:dasgn_curr, :x],
+                                [:call, [:dvar, :x], :+, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:defn, :unsplatted,
+                                s(:args, :x),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call,
+                                      s(:lvar, :x),
+                                      :+,
+                                      s(:arglist, s(:lit, 1)))))),
+            "Ruby2Ruby"    => "def unsplatted(x)\n  (x + 1)\nend")
+
+  add_tests("bmethod_noargs",
+            "Ruby"         => [Examples, :bmethod_noargs],
+            "RawParseTree" => [:defn, :bmethod_noargs,
+                               [:bmethod,
+                                nil,
+                                [:call,
+                                 [:vcall, :x], :"+", [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:defn, :bmethod_noargs,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call,
+                                      s(:call, nil, :x, s(:arglist)),
+                                      :"+",
+                                      s(:arglist, s(:lit, 1)))))),
+            "Ruby2Ruby"    => "def bmethod_noargs\n  (x + 1)\nend")
+
+  add_tests("bmethod_splat",
+            "Ruby"         => [Examples, :splatted],
+            "RawParseTree" => [:defn, :splatted,
+                               [:bmethod,
+                                [:masgn, nil, [:dasgn_curr, :args], nil],
+                                [:block,
+                                 [:dasgn_curr, :y,
+                                  [:call, [:dvar, :args], :first]],
+                                 [:call, [:dvar, :y], :+,
+                                  [:array, [:lit, 42]]]]]],
+            "ParseTree"    => s(:defn, :splatted,
+                                s(:args, :"*args"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:lasgn, :y,
+                                      s(:call, s(:lvar, :args), :first,
+                                        s(:arglist))),
+                                    s(:call, s(:lvar, :y), :+,
+                                      s(:arglist, s(:lit, 42)))))),
+            "Ruby2Ruby"    => "def splatted(*args)\n  y = args.first\n  (y + 42)\nend")
+
+  add_tests("break",
+            "Ruby"         => "loop { break if true }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :loop], nil,
+                               [:if, [:true], [:break], nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :loop, s(:arglist)), nil,
+                                s(:if, s(:true), s(:break), nil)))
+
+  add_tests("break_arg",
+            "Ruby"         => "loop { break 42 if true }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :loop], nil,
+                               [:if, [:true], [:break, [:lit, 42]], nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :loop, s(:arglist)), nil,
+                                s(:if, s(:true), s(:break, s(:lit, 42)), nil)))
+
+  add_tests("call",
+            "Ruby"         => "self.method",
+            "RawParseTree" => [:call, [:self], :method],
+            "ParseTree"    => s(:call, s(:self), :method, s(:arglist)))
+
+  add_tests("call_arglist",
+            "Ruby"         => "o.puts(42)",
+            "RawParseTree" => [:call, [:vcall, :o], :puts,
+                               [:array, [:lit, 42]]],
+            "ParseTree"    => s(:call, s(:call, nil, :o, s(:arglist)), :puts,
+                                s(:arglist, s(:lit, 42))))
+
+  add_tests("call_arglist_hash",
+            "Ruby"         => "o.m(:a => 1, :b => 2)",
+            "RawParseTree" => [:call,
+                               [:vcall, :o], :m,
+                               [:array,
+                                [:hash,
+                                 [:lit, :a], [:lit, 1],
+                                 [:lit, :b], [:lit, 2]]]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :o, s(:arglist)), :m,
+                                s(:arglist,
+                                  s(:hash,
+                                    s(:lit, :a), s(:lit, 1),
+                                    s(:lit, :b), s(:lit, 2)))))
+
+  add_tests("call_arglist_norm_hash",
+            "Ruby"         => "o.m(42, :a => 1, :b => 2)",
+            "RawParseTree" => [:call,
+                               [:vcall, :o], :m,
+                               [:array,
+                                [:lit, 42],
+                                [:hash,
+                                 [:lit, :a], [:lit, 1],
+                                 [:lit, :b], [:lit, 2]]]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :o, s(:arglist)), :m,
+                                s(:arglist,
+                                  s(:lit, 42),
+                                  s(:hash,
+                                    s(:lit, :a), s(:lit, 1),
+                                    s(:lit, :b), s(:lit, 2)))))
+
+  add_tests("call_arglist_norm_hash_splat",
+            "Ruby"         => "o.m(42, :a => 1, :b => 2, *c)",
+            "RawParseTree" => [:call,
+                               [:vcall, :o], :m,
+                               [:argscat,
+                                [:array,
+                                 [:lit, 42],
+                                 [:hash,
+                                  [:lit, :a], [:lit, 1],
+                                  [:lit, :b], [:lit, 2]]],
+                                [:vcall, :c]]],
+            "ParseTree"    => s(:call,
+                                s(:call, nil, :o, s(:arglist)), :m,
+                                s(:arglist,
+                                  s(:lit, 42),
+                                  s(:hash,
+                                    s(:lit, :a), s(:lit, 1),
+                                    s(:lit, :b), s(:lit, 2)),
+                                  s(:splat, s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("call_arglist_space",
+            "Ruby"         => "a (1,2,3)",
+            "RawParseTree" => [:fcall, :a,
+                               [:array, [:lit, 1], [:lit, 2], [:lit, 3]]],
+            "ParseTree"    => s(:call, nil, :a,
+                                s(:arglist,
+                                  s(:lit, 1), s(:lit, 2), s(:lit, 3))),
+            "Ruby2Ruby"    => "a(1, 2, 3)")
+
+  add_tests("call_command",
+            "Ruby"         => "1.b(c)",
+            "RawParseTree" => [:call, [:lit, 1], :b, [:array, [:vcall, :c]]],
+            "ParseTree"    => s(:call,
+                                s(:lit, 1),
+                                :b,
+                                s(:arglist, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("call_expr",
+            "Ruby"         => "(v = (1 + 1)).zero?",
+            "RawParseTree" => [:call,
+                               [:lasgn, :v,
+                                [:call, [:lit, 1], :+, [:array, [:lit, 1]]]],
+                               :zero?],
+            "ParseTree"    => s(:call,
+                                s(:lasgn, :v,
+                                  s(:call, s(:lit, 1), :+,
+                                    s(:arglist, s(:lit, 1)))),
+                                :zero?, s(:arglist)))
+
+  add_tests("call_index",
+            "Ruby"         => "a = []\na[42]\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :a, [:zarray]],
+                               [:call, [:lvar, :a], :[], [:array, [:lit, 42]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :a, s(:array)),
+                                s(:call, s(:lvar, :a), :[],
+                                  s(:arglist, s(:lit, 42)))))
+
+  add_tests("call_index_no_args",
+            "Ruby"         => "a[]",
+            "RawParseTree" => [:call, [:vcall, :a], :[]],
+            "ParseTree"    => s(:call, s(:call, nil, :a, s(:arglist)),
+                                :[], s(:arglist)))
+
+  add_tests("call_index_space",
+            "Ruby"         => "a = []\na [42]\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :a, [:zarray]],
+                               [:call, [:lvar, :a], :[], [:array, [:lit, 42]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :a, s(:array)),
+                                s(:call, s(:lvar, :a), :[],
+                                  s(:arglist, s(:lit, 42)))),
+            "Ruby2Ruby"    => "a = []\na[42]\n")
+
+  add_tests("call_unary_neg",
+            "Ruby"         => "-2**31",
+            "RawParseTree" => [:call,
+                               [:call, [:lit, 2], :**, [:array, [:lit, 31]]],
+                               :-@],
+            "ParseTree"    => s(:call,
+                                s(:call,
+                                  s(:lit, 2),
+                                  :**,
+                                  s(:arglist, s(:lit, 31))),
+                                :-@, s(:arglist)),
+            "Ruby2Ruby"    => "-(2 ** 31)")
+
+  add_tests("case",
+            "Ruby"         => "var = 2\nresult = \"\"\ncase var\nwhen 1 then\n  puts(\"something\")\n  result = \"red\"\nwhen 2, 3 then\n  result = \"yellow\"\nwhen 4 then\n  # do nothing\nelse\n  result = \"green\"\nend\ncase result\nwhen \"red\" then\n  var = 1\nwhen \"yellow\" then\n  var = 2\nwhen \"green\" then\n  var = 3\nelse\n  # do nothing\nend\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :var, [:lit, 2]],
+                               [:lasgn, :result, [:str, ""]],
+                               [:case,
+                                [:lvar, :var],
+                                [:when,
+                                 [:array, [:lit, 1]],
+                                 [:block,
+                                  [:fcall, :puts,
+                                   [:array, [:str, "something"]]],
+                                  [:lasgn, :result, [:str, "red"]]]],
+                                [:when,
+                                 [:array, [:lit, 2], [:lit, 3]],
+                                 [:lasgn, :result, [:str, "yellow"]]],
+                                [:when, [:array, [:lit, 4]], nil],
+                                [:lasgn, :result, [:str, "green"]]],
+                               [:case,
+                                [:lvar, :result],
+                                [:when, [:array, [:str, "red"]],
+                                 [:lasgn, :var, [:lit, 1]]],
+                                [:when, [:array, [:str, "yellow"]],
+                                 [:lasgn, :var, [:lit, 2]]],
+                                [:when, [:array, [:str, "green"]],
+                                 [:lasgn, :var, [:lit, 3]]],
+                                nil]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :var, s(:lit, 2)),
+                                s(:lasgn, :result, s(:str, "")),
+                                s(:case,
+                                  s(:lvar, :var),
+                                  s(:when,
+                                    s(:array, s(:lit, 1)),
+                                    s(:block,
+                                      s(:call, nil, :puts,
+                                        s(:arglist, s(:str, "something"))),
+                                      s(:lasgn, :result, s(:str, "red")))),
+                                  s(:when,
+                                    s(:array, s(:lit, 2), s(:lit, 3)),
+                                    s(:lasgn, :result, s(:str, "yellow"))),
+                                  s(:when, s(:array, s(:lit, 4)), nil),
+                                  s(:lasgn, :result, s(:str, "green"))),
+                                s(:case,
+                                  s(:lvar, :result),
+                                  s(:when, s(:array, s(:str, "red")),
+                                    s(:lasgn, :var, s(:lit, 1))),
+                                  s(:when, s(:array, s(:str, "yellow")),
+                                    s(:lasgn, :var, s(:lit, 2))),
+                                  s(:when, s(:array, s(:str, "green")),
+                                    s(:lasgn, :var, s(:lit, 3))),
+                                  nil)))
+
+  add_tests("case_nested",
+            "Ruby"         => "var1 = 1\nvar2 = 2\nresult = nil\ncase var1\nwhen 1 then\n  case var2\n  when 1 then\n    result = 1\n  when 2 then\n    result = 2\n  else\n    result = 3\n  end\nwhen 2 then\n  case var2\n  when 1 then\n    result = 4\n  when 2 then\n    result = 5\n  else\n    result = 6\n  end\nelse\n  result = 7\nend\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :var1, [:lit, 1]],
+                               [:lasgn, :var2, [:lit, 2]],
+                               [:lasgn, :result, [:nil]],
+                               [:case,
+                                [:lvar, :var1],
+                                [:when, [:array, [:lit, 1]],
+                                 [:case,
+                                  [:lvar, :var2],
+                                  [:when, [:array, [:lit, 1]],
+                                   [:lasgn, :result, [:lit, 1]]],
+                                  [:when, [:array, [:lit, 2]],
+                                   [:lasgn, :result, [:lit, 2]]],
+                                  [:lasgn, :result, [:lit, 3]]]],
+                                [:when, [:array, [:lit, 2]],
+                                 [:case,
+                                  [:lvar, :var2],
+                                  [:when, [:array, [:lit, 1]],
+                                   [:lasgn, :result, [:lit, 4]]],
+                                  [:when, [:array, [:lit, 2]],
+                                   [:lasgn, :result, [:lit, 5]]],
+                                  [:lasgn, :result, [:lit, 6]]]],
+                                [:lasgn, :result, [:lit, 7]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :var1, s(:lit, 1)),
+                                s(:lasgn, :var2, s(:lit, 2)),
+                                s(:lasgn, :result, s(:nil)),
+                                s(:case,
+                                  s(:lvar, :var1),
+                                  s(:when, s(:array, s(:lit, 1)),
+                                    s(:case,
+                                      s(:lvar, :var2),
+                                      s(:when, s(:array, s(:lit, 1)),
+                                        s(:lasgn, :result, s(:lit, 1))),
+                                      s(:when, s(:array, s(:lit, 2)),
+                                        s(:lasgn, :result, s(:lit, 2))),
+                                      s(:lasgn, :result, s(:lit, 3)))),
+                                  s(:when, s(:array, s(:lit, 2)),
+                                    s(:case,
+                                      s(:lvar, :var2),
+                                      s(:when, s(:array, s(:lit, 1)),
+                                        s(:lasgn, :result, s(:lit, 4))),
+                                      s(:when, s(:array, s(:lit, 2)),
+                                        s(:lasgn, :result, s(:lit, 5))),
+                                      s(:lasgn, :result, s(:lit, 6)))),
+                                  s(:lasgn, :result, s(:lit, 7)))))
+
+  add_tests("case_nested_inner_no_expr",
+            "Ruby"         => "case a\nwhen b then\n  case\n  when (d and e) then\n    f\n  else\n    # do nothing\n  end\nelse\n  # do nothing\nend",
+            "RawParseTree" => [:case, [:vcall, :a],
+                               [:when, [:array, [:vcall, :b]],
+                                [:case, nil,
+                                 [:when,
+                                  [:array, [:and, [:vcall, :d], [:vcall, :e]]],
+                                  [:vcall, :f]],
+                                 nil]],
+                               nil],
+            "ParseTree"    => s(:case, s(:call, nil, :a, s(:arglist)),
+                                s(:when,
+                                  s(:array, s(:call, nil, :b, s(:arglist))),
+                                  s(:case, nil,
+                                    s(:when,
+                                      s(:array,
+                                        s(:and,
+                                          s(:call, nil, :d, s(:arglist)),
+                                          s(:call, nil, :e, s(:arglist)))),
+                                      s(:call, nil, :f, s(:arglist))),
+                                    nil)),
+                                nil))
+
+  add_tests("case_no_expr",
+            "Ruby"         => "case\nwhen (a == 1) then\n  :a\nwhen (a == 2) then\n  :b\nelse\n  :c\nend",
+            "RawParseTree" => [:case, nil,
+                               [:when,
+                                [:array,
+                                 [:call, [:vcall, :a], :==,
+                                  [:array, [:lit, 1]]]],
+                                [:lit, :a]],
+                               [:when,
+                                [:array,
+                                 [:call, [:vcall, :a], :==,
+                                  [:array, [:lit, 2]]]],
+                                [:lit, :b]],
+                               [:lit, :c]],
+            "ParseTree"    => s(:case, nil,
+                                s(:when,
+                                  s(:array,
+                                    s(:call,
+                                      s(:call, nil, :a, s(:arglist)),
+                                      :==,
+                                      s(:arglist, s(:lit, 1)))),
+                                  s(:lit, :a)),
+                                s(:when,
+                                  s(:array,
+                                    s(:call,
+                                      s(:call, nil, :a, s(:arglist)),
+                                      :==,
+                                      s(:arglist, s(:lit, 2)))),
+                                  s(:lit, :b)),
+                                s(:lit, :c)))
+
+  add_tests("case_splat",
+            "Ruby"         => "case a\nwhen :b, *c then\n  d\nelse\n  e\nend",
+            "RawParseTree" => [:case, [:vcall, :a],
+                               [:when,
+                                [:array,
+                                 [:lit, :b], [:when, [:vcall, :c], nil]], # wtf?
+                                [:vcall, :d]],
+                               [:vcall, :e]],
+            "ParseTree"    => s(:case, s(:call, nil, :a, s(:arglist)),
+                                s(:when,
+                                  s(:array,
+                                    s(:lit, :b),
+                                    s(:when,
+                                      s(:call, nil, :c, s(:arglist)),
+                                      nil)), # wtf?
+                                  s(:call, nil, :d, s(:arglist))),
+                                s(:call, nil, :e, s(:arglist))))
+
+  add_tests("cdecl",
+            "Ruby"         => "X = 42",
+            "RawParseTree" => [:cdecl, :X, [:lit, 42]],
+            "ParseTree"    => s(:cdecl, :X, s(:lit, 42)))
+
+  add_tests("class_plain",
+            "Ruby"         => "class X\n  puts((1 + 1))\n  def blah\n    puts(\"hello\")\n  end\nend",
+            "RawParseTree" => [:class,
+                               :X,
+                               nil,
+                               [:scope,
+                                [:block,
+                                 [:fcall, :puts,
+                                  [:array,
+                                   [:call, [:lit, 1], :+,
+                                    [:array, [:lit, 1]]]]],
+                                 [:defn, :blah,
+                                  [:scope,
+                                   [:block,
+                                    [:args],
+                                    [:fcall, :puts,
+                                     [:array, [:str, "hello"]]]]]]]]],
+            "ParseTree"    => s(:class,
+                                :X,
+                                nil,
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :puts,
+                                      s(:arglist,
+                                        s(:call, s(:lit, 1), :+,
+                                          s(:arglist, s(:lit, 1))))),
+                                    s(:defn, :blah,
+                                      s(:args),
+                                      s(:scope,
+                                        s(:block,
+                                          s(:call, nil, :puts,
+                                            s(:arglist,
+                                              s(:str, "hello"))))))))))
+
+  add_tests("class_scoped",
+            "Ruby"         => "class X::Y\n  c\nend",
+            "RawParseTree" => [:class, [:colon2, [:const, :X], :Y], nil,
+                               [:scope, [:vcall, :c]]],
+            "ParseTree"    => s(:class, s(:colon2, s(:const, :X), :Y), nil,
+                                s(:scope, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("class_scoped3",
+            "Ruby"         => "class ::Y\n  c\nend",
+            "RawParseTree" => [:class, [:colon3, :Y], nil,
+                               [:scope, [:vcall, :c]]],
+            "ParseTree"    => s(:class, s(:colon3, :Y), nil,
+                                s(:scope, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("class_super_array",
+            "Ruby"         => "class X < Array\nend",
+            "RawParseTree" => [:class,
+                               :X,
+                               [:const, :Array],
+                               [:scope]],
+            "ParseTree"    => s(:class,
+                                :X,
+                                s(:const, :Array),
+                                s(:scope)))
+
+  add_tests("class_super_expr",
+            "Ruby"         => "class X < expr\nend",
+            "RawParseTree" => [:class,
+                               :X,
+                               [:vcall, :expr],
+                               [:scope]],
+            "ParseTree"    => s(:class,
+                                :X,
+                                s(:call, nil, :expr, s(:arglist)),
+                                s(:scope)))
+
+  add_tests("class_super_object",
+            "Ruby"         => "class X < Object\nend",
+            "RawParseTree" => [:class,
+                               :X,
+                               [:const, :Object],
+                               [:scope]],
+            "ParseTree"    => s(:class,
+                                :X,
+                                s(:const, :Object),
+                                s(:scope)))
+
+  add_tests("colon2",
+            "Ruby"         => "X::Y",
+            "RawParseTree" => [:colon2, [:const, :X], :Y],
+            "ParseTree"    => s(:colon2, s(:const, :X), :Y))
+
+  add_tests("colon3",
+            "Ruby"         => "::X",
+            "RawParseTree" => [:colon3, :X],
+            "ParseTree"    => s(:colon3, :X))
+
+  add_tests("const",
+            "Ruby"         => "X",
+            "RawParseTree" => [:const, :X],
+            "ParseTree"    => s(:const, :X))
+
+  add_tests("constX",
+            "Ruby"         => "X = 1",
+            "RawParseTree" => [:cdecl, :X, [:lit, 1]],
+            "ParseTree"    => s(:cdecl, :X, s(:lit, 1)))
+
+  add_tests("constY",
+            "Ruby"         => "::X = 1",
+            "RawParseTree" => [:cdecl, [:colon3, :X], [:lit, 1]],
+            "ParseTree"    => s(:cdecl, s(:colon3, :X), s(:lit, 1)))
+
+  add_tests("constZ",
+            "Ruby"         => "X::Y = 1",
+            "RawParseTree" => [:cdecl, [:colon2, [:const, :X], :Y], [:lit, 1]],
+            "ParseTree"    => s(:cdecl,
+                                s(:colon2, s(:const, :X), :Y),
+                                s(:lit, 1)))
+
+  add_tests("cvar",
+            "Ruby"         => "@@x",
+            "RawParseTree" => [:cvar, :@@x],
+            "ParseTree"    => s(:cvar, :@@x))
+
+  add_tests("cvasgn",
+            "Ruby"         => "def x\n  @@blah = 1\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block, [:args],
+                                 [:cvasgn, :@@blah, [:lit, 1]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:cvasgn, :@@blah, s(:lit, 1))))))
+
+  add_tests("cvasgn_cls_method",
+            "Ruby"         => "def self.quiet_mode=(boolean)\n  @@quiet_mode = boolean\nend",
+            "RawParseTree" => [:defs, [:self], :quiet_mode=,
+                               [:scope,
+                                [:block,
+                                 [:args, :boolean],
+                                 [:cvasgn, :@@quiet_mode, [:lvar, :boolean]]]]],
+            "ParseTree"    => s(:defs, s(:self), :quiet_mode=,
+                                s(:args, :boolean),
+                                s(:scope,
+                                  s(:block,
+                                    s(:cvasgn, :@@quiet_mode,
+                                      s(:lvar, :boolean))))))
+
+  add_tests("cvdecl",
+            "Ruby"         => "class X\n  @@blah = 1\nend",
+            "RawParseTree" => [:class, :X, nil,
+                               [:scope, [:cvdecl, :@@blah, [:lit, 1]]]],
+            "ParseTree"    => s(:class, :X, nil,
+                                s(:scope, s(:cvdecl, :@@blah, s(:lit, 1)))))
+
+  add_tests("dasgn_0",
+            "Ruby"         => "a.each { |x| b.each { |y| x = (x + 1) } if true }",
+            "RawParseTree" => [:iter,
+                               [:call, [:vcall, :a], :each],
+                               [:dasgn_curr, :x],
+                               [:if, [:true],
+                                [:iter,
+                                 [:call, [:vcall, :b], :each],
+                                 [:dasgn_curr, :y],
+                                 [:dasgn, :x,
+                                  [:call, [:dvar, :x], :+,
+                                   [:array, [:lit, 1]]]]],
+                                nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, s(:call, nil, :a, s(:arglist)), :each,
+                                  s(:arglist)),
+                                s(:lasgn, :x),
+                                s(:if, s(:true),
+                                  s(:iter,
+                                    s(:call, s(:call, nil, :b, s(:arglist)),
+                                      :each,
+                                      s(:arglist)),
+                                    s(:lasgn, :y),
+                                    s(:lasgn, :x,
+                                      s(:call, s(:lvar, :x), :+,
+                                        s(:arglist, s(:lit, 1))))),
+                                  nil)))
+
+  add_tests("dasgn_1",
+            "Ruby"         => "a.each { |x| b.each { |y| c = (c + 1) } if true }",
+            "RawParseTree" => [:iter,
+                               [:call, [:vcall, :a], :each],
+                               [:dasgn_curr, :x],
+                               [:if, [:true],
+                                [:iter,
+                                 [:call, [:vcall, :b], :each],
+                                 [:dasgn_curr, :y],
+                                 [:dasgn_curr, :c,
+                                  [:call, [:dvar, :c], :+,
+                                   [:array, [:lit, 1]]]]],
+                                nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, s(:call, nil, :a, s(:arglist)), :each,
+                                  s(:arglist)),
+                                s(:lasgn, :x),
+                                s(:if, s(:true),
+                                  s(:iter,
+                                    s(:call, s(:call, nil, :b, s(:arglist)),
+                                      :each,
+                                      s(:arglist)),
+                                    s(:lasgn, :y),
+                                    s(:lasgn, :c,
+                                      s(:call, s(:lvar, :c), :+,
+                                        s(:arglist, s(:lit, 1))))),
+                                  nil)))
+
+  add_tests("dasgn_2",
+            "Ruby"         => "a.each do |x|\n  if true then\n    c = 0\n    b.each { |y| c = (c + 1) }\n  end\nend", # FIX: hate that extra newline!
+            "RawParseTree" => [:iter,
+                               [:call, [:vcall, :a], :each],
+                               [:dasgn_curr, :x],
+                               [:if, [:true],
+                                [:block,
+                                 [:dasgn_curr, :c, [:lit, 0]],
+                                 [:iter,
+                                  [:call, [:vcall, :b], :each],
+                                  [:dasgn_curr, :y],
+                                  [:dasgn, :c,
+                                   [:call, [:dvar, :c], :+,
+                                    [:array, [:lit, 1]]]]]],
+                                nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, s(:call, nil, :a, s(:arglist)), :each,
+                                  s(:arglist)),
+                                s(:lasgn, :x),
+                                s(:if, s(:true),
+                                  s(:block,
+                                    s(:lasgn, :c, s(:lit, 0)),
+                                    s(:iter,
+                                      s(:call, s(:call, nil, :b, s(:arglist)),
+                                        :each,
+                                        s(:arglist)),
+                                      s(:lasgn, :y),
+                                      s(:lasgn, :c,
+                                        s(:call, s(:lvar, :c), :+,
+                                          s(:arglist, s(:lit, 1)))))),
+                                  nil)))
+
+  add_tests("dasgn_curr",
+            "Ruby"         => "data.each do |x, y|\n  a = 1\n  b = a\n  b = a = x\nend",
+            "RawParseTree" => [:iter,
+                               [:call, [:vcall, :data], :each],
+                               [:masgn,
+                                [:array, [:dasgn_curr, :x], [:dasgn_curr, :y]],
+                                nil, nil],
+                               [:block,
+                                [:dasgn_curr, :a, [:lit, 1]],
+                                [:dasgn_curr, :b, [:dvar, :a]],
+                                [:dasgn_curr, :b,
+                                 [:dasgn_curr, :a, [:dvar, :x]]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, s(:call, nil, :data,
+                                           s(:arglist)), :each, s(:arglist)),
+                                s(:masgn,
+                                  s(:array, s(:lasgn, :x), s(:lasgn, :y))),
+                                s(:block,
+                                  s(:lasgn, :a, s(:lit, 1)),
+                                  s(:lasgn, :b, s(:lvar, :a)),
+                                  s(:lasgn, :b, s(:lasgn, :a, s(:lvar, :x))))))
+
+  add_tests("dasgn_icky",
+            "Ruby"         => "a do\n  v = nil\n  assert_block(full_message) do\n    begin\n      yield\n    rescue Exception => v\n      break\n    end\n  end\nend",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               nil,
+                               [:block,
+                                [:dasgn_curr, :v, [:nil]],
+                                [:iter,
+                                 [:fcall, :assert_block,
+                                  [:array, [:vcall, :full_message]]],
+                                 nil,
+                                 [:rescue,
+                                  [:yield],
+                                  [:resbody,
+                                   [:array, [:const, :Exception]],
+                                   [:block,
+                                    [:dasgn, :v,
+                                     [:gvar, :$!]], [:break]]]]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                nil,
+                                s(:block,
+                                  s(:lasgn, :v, s(:nil)),
+                                  s(:iter,
+                                    s(:call, nil, :assert_block,
+                                      s(:arglist,
+                                        s(:call, nil, :full_message,
+                                          s(:arglist)))),
+                                    nil,
+                                    s(:rescue,
+                                      s(:yield),
+                                      s(:resbody,
+                                        s(:array,
+                                          s(:const, :Exception),
+                                          s(:lasgn, :v, s(:gvar, :$!))),
+                                        s(:break)))))))
+
+  add_tests("dasgn_mixed",
+            "Ruby"         => "t = 0\nns.each { |n| t += n }\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :t, [:lit, 0]],
+                               [:iter,
+                                [:call, [:vcall, :ns], :each],
+                                [:dasgn_curr, :n],
+                                [:lasgn, :t,
+                                 [:call, [:lvar, :t], :+,
+                                  [:array, [:dvar, :n]]]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :t, s(:lit, 0)),
+                                s(:iter,
+                                  s(:call, s(:call, nil, :ns,
+                                             s(:arglist)), :each, s(:arglist)),
+                                  s(:lasgn, :n),
+                                  s(:lasgn, :t,
+                                    s(:call, s(:lvar, :t), :+,
+                                      s(:arglist, s(:lvar, :n)))))),
+            "Ruby2Ruby"    => "t = 0\nns.each { |n| t = (t + n) }\n")
+
+  add_tests("defined",
+            "Ruby"         => "defined? $x",
+            "RawParseTree" => [:defined, [:gvar, :$x]],
+            "ParseTree"    => s(:defined, s(:gvar, :$x)))
+
+  # TODO: make all the defn_args* p their arglist
+  add_tests("defn_args_block",
+            "Ruby"         => "def f(&block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :"&block"),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand",
+            "Ruby"         => "def f(mand)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                               [:args, :mand],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_block",
+            "Ruby"         => "def f(mand, &block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :mand],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :"&block"),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_opt",
+            "Ruby"         => "def f(mand, opt = 42)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                               [:args, :mand, :opt,
+                                [:block,
+                                 [:lasgn, :opt, [:lit, 42]]]],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :opt,
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_opt_block",
+            "Ruby"         => "def f(mand, opt = 42, &block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :mand, :opt,
+                                  [:block,
+                                   [:lasgn, :opt, [:lit, 42]]]],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :opt, :"&block",
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_opt_splat",
+            "Ruby"         => "def f(mand, opt = 42, *rest)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                               [:args, :mand, :opt, :"*rest",
+                                [:block,
+                                 [:lasgn, :opt, [:lit, 42]]]],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :opt, :"*rest",
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_opt_splat_block",
+            "Ruby"         => "def f(mand, opt = 42, *rest, &block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :mand, :opt, :"*rest",
+                                  [:block,
+                                   [:lasgn, :opt, [:lit, 42]]]],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :opt, :"*rest", :"&block",
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_opt_splat_no_name",
+            "Ruby"         => "def x(a, b = 42, *)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :a, :b, :"*",
+                                  [:block, [:lasgn, :b, [:lit, 42]]]],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :a, :b, :"*",
+                                  s(:block, s(:lasgn, :b, s(:lit, 42)))),
+                                s(:scope,
+                                  s(:block,
+                                    s(:nil)))))
+
+  add_tests("defn_args_mand_splat",
+            "Ruby"         => "def f(mand, *rest)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                               [:args, :mand, :"*rest"],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :"*rest"),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_splat_block",
+            "Ruby"         => "def f(mand, *rest, &block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :mand, :"*rest"],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :mand, :"*rest", :"&block"),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_mand_splat_no_name",
+            "Ruby"         => "def x(a, *args)\n  p(a, args)\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :a, :"*args"],
+                                 [:fcall, :p,
+                                  [:array, [:lvar, :a], [:lvar, :args]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :a, :"*args"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :p,
+                                      s(:arglist, s(:lvar, :a), s(:lvar, :args)))))))
+
+  add_tests("defn_args_none",
+            "Ruby"         => "def empty\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :empty,
+                               [:scope, [:block, [:args], [:nil]]]],
+            "ParseTree"    => s(:defn, :empty,
+                                s(:args),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_opt",
+            "Ruby"         => "def f(opt = 42)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                               [:args, :opt,
+                                [:block,
+                                 [:lasgn, :opt, [:lit, 42]]]],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :opt,
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_opt_block",
+            "Ruby"         => "def f(opt = 42, &block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :opt,
+                                  [:block,
+                                   [:lasgn, :opt, [:lit, 42]]]],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :opt, :"&block",
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_opt_splat",
+            "Ruby"         => "def f(opt = 42, *rest)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :opt, :"*rest",
+                                  [:block,
+                                   [:lasgn, :opt, [:lit, 42]]]],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :opt, :"*rest",
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_opt_splat_block",
+            "Ruby"         => "def f(opt = 42, *rest, &block)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :opt, :"*rest",
+                                  [:block,
+                                   [:lasgn, :opt, [:lit, 42]]]],
+                                 [:block_arg, :block],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :opt, :"*rest", :"&block",
+                                  s(:block,
+                                    s(:lasgn, :opt, s(:lit, 42)))),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_opt_splat_no_name",
+            "Ruby"         => "def x(b = 42, *)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :b, :"*",
+                                  [:block, [:lasgn, :b, [:lit, 42]]]],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :b, :"*",
+                                  s(:block, s(:lasgn, :b, s(:lit, 42)))),
+                                s(:scope,
+                                  s(:block,
+                                    s(:nil)))))
+
+  add_tests("defn_args_splat",
+            "Ruby"         => "def f(*rest)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :f,
+                               [:scope,
+                                [:block,
+                                 [:args, :"*rest"],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :f,
+                                s(:args, :"*rest"),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_args_splat_no_name",
+            "Ruby"         => "def x(*)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :"*"],
+                                 [:nil]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :"*"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:nil)))))
+
+  add_tests("defn_or",
+            "Ruby"         => "def |(o)\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :|,
+                               [:scope, [:block, [:args, :o], [:nil]]]],
+            "ParseTree"    => s(:defn, :|,
+                                s(:args, :o),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_rescue",
+            "Ruby"         => "def eql?(resource)\n  (self.uuid == resource.uuid)\nrescue\n  false\nend",
+            "RawParseTree" => [:defn, :eql?,
+                               [:scope,
+                                [:block,
+                                 [:args, :resource],
+                                 [:rescue,
+                                  [:call,
+                                   [:call, [:self], :uuid],
+                                   :==,
+                                   [:array,
+                                    [:call, [:lvar, :resource], :uuid]]],
+                                  [:resbody, nil, [:false]]]]]],
+            "ParseTree"    => s(:defn, :eql?,
+                                s(:args, :resource),
+                                s(:scope,
+                                  s(:block,
+                                    s(:rescue,
+                                      s(:call,
+                                        s(:call, s(:self), :uuid, s(:arglist)),
+                                        :==,
+                                        s(:arglist,
+                                          s(:call, s(:lvar, :resource),
+                                            :uuid, s(:arglist)))),
+                                      s(:resbody, s(:array), s(:false)))))),
+            "Ruby2Ruby"    => "def eql?(resource)\n  (self.uuid == resource.uuid) rescue false\nend")
+
+  add_tests("defn_rescue_mri_verbose_flag",
+            "Ruby"         => "def eql?(resource)\n  (self.uuid == resource.uuid)\nrescue\n  false\nend",
+            "RawParseTree" => [:defn, :eql?,
+                               [:scope,
+                                [:block,
+                                 [:args, :resource],
+                                 [:rescue,
+                                  [:call,
+                                   [:call, [:self], :uuid],
+                                   :==,
+                                   [:array,
+                                    [:call, [:lvar, :resource], :uuid]]],
+                                  [:resbody, nil, [:false]]]]]],
+            "ParseTree"    => s(:defn, :eql?,
+                                s(:args, :resource),
+                                s(:scope,
+                                  s(:block,
+                                    s(:rescue,
+                                      s(:call,
+                                        s(:call, s(:self), :uuid, s(:arglist)),
+                                        :==,
+                                        s(:arglist,
+                                          s(:call, s(:lvar, :resource),
+                                            :uuid, s(:arglist)))),
+                                      s(:resbody, s(:array), s(:false)))))),
+            "Ruby2Ruby"    => "def eql?(resource)\n  (self.uuid == resource.uuid) rescue false\nend")
+
+  add_tests("defn_something_eh",
+            "Ruby"         => "def something?\n  # do nothing\nend",
+            "RawParseTree" => [:defn, :something?,
+                               [:scope, [:block, [:args], [:nil]]]],
+            "ParseTree"    => s(:defn, :something?,
+                                s(:args),
+                                s(:scope, s(:block, s(:nil)))))
+
+  add_tests("defn_splat_no_name",
+            "Ruby"         => "def x(a, *)\n  p(a)\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :a, :"*"],
+                                 [:fcall, :p,
+                                  [:array, [:lvar, :a]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :a, :"*"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :p,
+                                      s(:arglist, s(:lvar, :a)))))))
+
+  add_tests("defn_zarray",
+            "Ruby"         => "def zarray\n  a = []\n  return a\nend",
+            "RawParseTree" => [:defn, :zarray,
+                               [:scope,
+                                [:block, [:args],
+                                 [:lasgn, :a, [:zarray]],
+                                 [:return, [:lvar, :a]]]]],
+            "ParseTree"    => s(:defn, :zarray,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:lasgn, :a, s(:array)),
+                                    s(:return, s(:lvar, :a))))))
+
+  add_tests("defs",
+            "Ruby"         => "def self.x(y)\n  (y + 1)\nend",
+            "RawParseTree" => [:defs, [:self], :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :y],
+                                 [:call, [:lvar, :y], :+,
+                                  [:array, [:lit, 1]]]]]],
+            "ParseTree"    => s(:defs, s(:self), :x,
+                                s(:args, :y),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, s(:lvar, :y), :+,
+                                      s(:arglist, s(:lit, 1)))))))
+
+  add_tests("defs_empty",
+            "Ruby"         => "def self.empty\n  # do nothing\nend",
+            "RawParseTree" => [:defs, [:self], :empty,
+                               [:scope, [:args]]],
+            "ParseTree"    => s(:defs, s(:self), :empty,
+                                s(:args),
+                                s(:scope, s(:block))))
+
+  add_tests("defs_empty_args",
+            "Ruby"         => "def self.empty(*)\n  # do nothing\nend",
+            "RawParseTree" => [:defs, [:self], :empty,
+                               [:scope, [:args, :*]]],
+            "ParseTree"    => s(:defs, s(:self), :empty,
+                                s(:args, :*),
+                                s(:scope, s(:block))))
+
+  add_tests("defs_expr_wtf",
+            "Ruby"         => "def (a.b).empty(*)\n  # do nothing\nend",
+            "RawParseTree" => [:defs,
+                               [:call, [:vcall, :a], :b],
+                               :empty,
+                               [:scope, [:args, :*]]],
+            "ParseTree"    => s(:defs,
+                                s(:call,
+                                  s(:call, nil, :a, s(:arglist)),
+                                  :b, s(:arglist)),
+                                :empty,
+                                s(:args, :*),
+                                s(:scope, s(:block))))
+
+  add_tests("dmethod",
+            "Ruby"         => [Examples, :dmethod_added],
+            "RawParseTree" => [:defn, :dmethod_added,
+                               [:dmethod,
+                                :a_method,
+                                [:scope,
+                                 [:block,
+                                  [:args, :x],
+                                  [:call, [:lvar, :x], :+,
+                                   [:array, [:lit, 1]]]]]]],
+            "ParseTree"    => s(:defn, :dmethod_added,
+                                s(:args, :x),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, s(:lvar, :x), :+,
+                                      s(:arglist, s(:lit, 1)))))),
+            "Ruby2Ruby"    => "def dmethod_added(x)\n  (x + 1)\nend")
+
+  add_tests("dot2",
+            "Ruby"         => "(a..b)",
+            "RawParseTree" => [:dot2, [:vcall, :a], [:vcall, :b]],
+            "ParseTree"    => s(:dot2,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:call, nil, :b, s(:arglist))))
+
+  add_tests("dot3",
+            "Ruby"         => "(a...b)",
+            "RawParseTree" => [:dot3, [:vcall, :a], [:vcall, :b]],
+            "ParseTree"    => s(:dot3,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:call, nil, :b, s(:arglist))))
+
+  add_tests("dregx",
+            "Ruby"         => "/x#\{(1 + 1)}y/",
+            "RawParseTree" => [:dregx, "x",
+                               [:evstr,
+                                [:call, [:lit, 1], :+, [:array, [:lit, 1]]]],
+                               [:str, "y"]],
+            "ParseTree"    => s(:dregx, "x",
+                                s(:evstr,
+                                  s(:call, s(:lit, 1), :+,
+                                    s(:arglist, s(:lit, 1)))),
+                                s(:str, "y")))
+
+  add_tests("dregx_interp",
+            "Ruby"         => "/#\{@rakefile}/",
+            "RawParseTree" => [:dregx, '', [:evstr, [:ivar, :@rakefile]]],
+            "ParseTree"    => s(:dregx, '', s(:evstr, s(:ivar, :@rakefile))))
+
+  add_tests("dregx_interp_empty",
+            "Ruby"         => "/a#\{}b/",
+            "RawParseTree" => [:dregx, 'a', [:evstr], [:str, "b"]],
+            "ParseTree"    => s(:dregx, 'a', s(:evstr), s(:str, "b")))
+
+  add_tests("dregx_n",
+            "Ruby"         => '/#{1}/n',
+            "RawParseTree" => [:dregx, '', [:evstr, [:lit, 1]], /x/n.options],
+            "ParseTree"    => s(:dregx, '',
+                                s(:evstr, s(:lit, 1)), /x/n.options),
+            "Ruby2Ruby"    => "/#\{1}/") # HACK - need to support regexp flag
+
+  add_tests("dregx_once",
+            "Ruby"         => "/x#\{(1 + 1)}y/o",
+            "RawParseTree" => [:dregx_once, "x",
+                               [:evstr,
+                                [:call, [:lit, 1], :+, [:array, [:lit, 1]]]],
+                               [:str, "y"]],
+            "ParseTree"    => s(:dregx_once, "x",
+                                s(:evstr,
+                                  s(:call, s(:lit, 1), :+,
+                                    s(:arglist, s(:lit, 1)))),
+                                s(:str, "y")))
+
+  add_tests("dregx_once_n_interp",
+            "Ruby"         => "/#\{IAC}#\{SB}/no",
+            "RawParseTree" => [:dregx_once, '',
+                               [:evstr, [:const, :IAC]],
+                               [:evstr, [:const, :SB]], /x/n.options],
+            "ParseTree"    => s(:dregx_once, '',
+                                s(:evstr, s(:const, :IAC)),
+                                s(:evstr, s(:const, :SB)), /x/n.options),
+            "Ruby2Ruby"    => "/#\{IAC}#\{SB}/o") # HACK
+
+  add_tests("dstr",
+            "Ruby"         => "argl = 1\n\"x#\{argl}y\"\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :argl, [:lit, 1]],
+                               [:dstr, "x", [:evstr, [:lvar, :argl]],
+                                [:str, "y"]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :argl, s(:lit, 1)),
+                                s(:dstr, "x", s(:evstr, s(:lvar, :argl)),
+                                  s(:str, "y"))))
+
+  add_tests("dstr_2",
+            "Ruby"         => "argl = 1\n\"x#\{(\"%.2f\" % 3.14159)}y\"\n",
+            "RawParseTree" =>   [:block,
+                                 [:lasgn, :argl, [:lit, 1]],
+                                 [:dstr,
+                                  "x",
+                                  [:evstr,
+                                   [:call, [:str, "%.2f"], :%,
+                                    [:array, [:lit, 3.14159]]]],
+                                  [:str, "y"]]],
+            "ParseTree"    =>   s(:block,
+                                  s(:lasgn, :argl, s(:lit, 1)),
+                                  s(:dstr,
+                                    "x",
+                                    s(:evstr,
+                                      s(:call, s(:str, "%.2f"), :%,
+                                        s(:arglist, s(:lit, 3.14159)))),
+                                    s(:str, "y"))))
+
+  add_tests("dstr_3",
+            "Ruby"         => "max = 2\nargl = 1\n\"x#\{(\"%.#\{max}f\" % 3.14159)}y\"\n",
+            "RawParseTree" =>   [:block,
+                                 [:lasgn, :max, [:lit, 2]],
+                                 [:lasgn, :argl, [:lit, 1]],
+                                 [:dstr, "x",
+                                  [:evstr,
+                                   [:call,
+                                    [:dstr, "%.",
+                                     [:evstr, [:lvar, :max]],
+                                     [:str, "f"]],
+                                    :%,
+                                    [:array, [:lit, 3.14159]]]],
+                                  [:str, "y"]]],
+            "ParseTree"    =>   s(:block,
+                                  s(:lasgn, :max, s(:lit, 2)),
+                                  s(:lasgn, :argl, s(:lit, 1)),
+                                  s(:dstr, "x",
+                                    s(:evstr,
+                                      s(:call,
+                                        s(:dstr, "%.",
+                                          s(:evstr, s(:lvar, :max)),
+                                          s(:str, "f")),
+                                        :%,
+                                        s(:arglist, s(:lit, 3.14159)))),
+                                    s(:str, "y"))))
+
+  add_tests("dstr_concat",
+            "Ruby"         => '"#{22}aa" "cd#{44}" "55" "#{66}"',
+            "RawParseTree" => [:dstr,
+                               "",
+                               [:evstr, [:lit, 22]],
+                               [:str, "aa"],
+                               [:str, "cd"],
+                               [:evstr, [:lit, 44]],
+                               [:str, "55"],
+                               [:evstr, [:lit, 66]]],
+            "ParseTree"    => s(:dstr,
+                                "",
+                                s(:evstr, s(:lit, 22)),
+                                s(:str, "aa"),
+                                s(:str, "cd"),
+                                s(:evstr, s(:lit, 44)),
+                                s(:str, "55"),
+                                s(:evstr, s(:lit, 66))),
+            "Ruby2Ruby"    => '"#{22}aacd#{44}55#{66}"')
+
+  add_tests("dstr_gross",
+            "Ruby"         => '"a #$global b #@ivar c #@@cvar d"',
+            "RawParseTree" => [:dstr, "a ",
+                               [:evstr, [:gvar, :$global]],
+                               [:str, " b "],
+                               [:evstr, [:ivar, :@ivar]],
+                               [:str, " c "],
+                               [:evstr, [:cvar, :@@cvar]],
+                               [:str, " d"]],
+            "ParseTree"    => s(:dstr, "a ",
+                                s(:evstr, s(:gvar, :$global)),
+                                s(:str, " b "),
+                                s(:evstr, s(:ivar, :@ivar)),
+                                s(:str, " c "),
+                                s(:evstr, s(:cvar, :@@cvar)),
+                                s(:str, " d")),
+            "Ruby2Ruby" => '"a #{$global} b #{@ivar} c #{@@cvar} d"')
+
+  add_tests("dstr_heredoc_expand",
+            "Ruby"         => "<<EOM\n  blah\n#\{1 + 1}blah\nEOM\n",
+            "RawParseTree" => [:dstr, "  blah\n",
+                               [:evstr, [:call, [:lit, 1], :+,
+                                         [:array, [:lit, 1]]]],
+                               [:str, "blah\n"]],
+            "ParseTree"    => s(:dstr, "  blah\n",
+                                s(:evstr, s(:call, s(:lit, 1), :+,
+                                            s(:arglist, s(:lit, 1)))),
+                                s(:str, "blah\n")),
+            "Ruby2Ruby"    => "\"  blah\\n#\{(1 + 1)}blah\\n\"")
+
+  add_tests("dstr_heredoc_windoze_sucks",
+            "Ruby"         => "<<-EOF\r\ndef test_#\{action}_valid_feed\r\n  EOF\r\n",
+            "RawParseTree" => [:dstr,
+                               'def test_',
+                               [:evstr, [:vcall, :action]],
+                               [:str, "_valid_feed\n"]],
+            "ParseTree"    => s(:dstr,
+                                'def test_',
+                                s(:evstr, s(:call, nil, :action, s(:arglist))),
+                                s(:str, "_valid_feed\n")),
+            "Ruby2Ruby"    => "\"def test_#\{action}_valid_feed\\n\"")
+
+  add_tests("dstr_heredoc_yet_again",
+            "Ruby"         => "<<-EOF\ns1 '#\{RUBY_PLATFORM}' s2\n#\{__FILE__}\n        EOF\n",
+            "RawParseTree" => [:dstr, "s1 '",
+                               [:evstr, [:const, :RUBY_PLATFORM]],
+                               [:str, "' s2\n"],
+                               [:str, "(string)"],
+                               [:str, "\n"]],
+            "ParseTree"    => s(:dstr, "s1 '",
+                                s(:evstr, s(:const, :RUBY_PLATFORM)),
+                                s(:str, "' s2\n"),
+                                s(:str, "(string)"),
+                                s(:str, "\n")),
+            "Ruby2Ruby"    => "\"s1 '#\{RUBY_PLATFORM}' s2\\n(string)\\n\"")
+
+  add_tests("dstr_nest",
+            "Ruby"         => "%Q[before [#\{nest}] after]",
+            "RawParseTree" => [:dstr, "before [",
+                               [:evstr, [:vcall, :nest]], [:str, "] after"]],
+            "ParseTree"    => s(:dstr, "before [",
+                                s(:evstr, s(:call, nil, :nest, s(:arglist))),
+                                s(:str, "] after")),
+            "Ruby2Ruby"    => "\"before [#\{nest}] after\"")
+
+  add_tests("dstr_str_lit_start",
+            "Ruby"         => '"#{"blah"}#{__FILE__}:#{__LINE__}: warning: #{$!.message} (#{$!.class})"',
+            "RawParseTree" => [:dstr,
+                               "blah(string):",
+                               [:evstr, [:lit, 1]],
+                               [:str, ": warning: "],
+                               [:evstr, [:call, [:gvar, :$!], :message]],
+                               [:str, " ("],
+                               [:evstr, [:call, [:gvar, :$!], :class]],
+                               [:str, ")"]],
+            "ParseTree"    => s(:dstr,
+                                "blah(string):",
+                                s(:evstr, s(:lit, 1)),
+                                s(:str, ": warning: "),
+                                s(:evstr, s(:call, s(:gvar, :$!), :message,
+                                            s(:arglist))),
+                                s(:str, " ("),
+                                s(:evstr, s(:call, s(:gvar, :$!), :class,
+                                            s(:arglist))),
+                                s(:str, ")")),
+            "Ruby2Ruby"    => '"blah(string):#{1}: warning: #{$!.message} (#{$!.class})"')
+
+  add_tests("dstr_the_revenge",
+            "Ruby"         => '"before #{from} middle #{to} (#{__FILE__}:#{__LINE__})"',
+            "RawParseTree" => [:dstr,
+                               "before ",
+                               [:evstr, [:vcall, :from]],
+                               [:str, " middle "],
+                               [:evstr, [:vcall, :to]],
+                               [:str, " ("],
+                               [:str, "(string)"],
+                               [:str, ":"],
+                               [:evstr, [:lit, 1]],
+                               [:str, ")"]],
+            "ParseTree"    => s(:dstr,
+                                "before ",
+                                s(:evstr, s(:call, nil, :from, s(:arglist))),
+                                s(:str, " middle "),
+                                s(:evstr, s(:call, nil, :to, s(:arglist))),
+                                s(:str, " ("),
+                                s(:str, "(string)"),
+                                s(:str, ":"),
+                                s(:evstr, s(:lit, 1)),
+                                s(:str, ")")),
+            "Ruby2Ruby"    => '"before #{from} middle #{to} ((string):#{1})"')
+
+  add_tests("dsym",
+            "Ruby"         => ":\"x#\{(1 + 1)}y\"",
+            "RawParseTree" => [:dsym, "x",
+                               [:evstr, [:call, [:lit, 1], :+,
+                                         [:array, [:lit, 1]]]], [:str, "y"]],
+            "ParseTree"    => s(:dsym, "x",
+                                s(:evstr, s(:call, s(:lit, 1), :+,
+                                            s(:arglist, s(:lit, 1)))), s(:str, "y")))
+
+  add_tests("dxstr",
+            "Ruby"         => "t = 5\n`touch #\{t}`\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :t, [:lit, 5]],
+                               [:dxstr, 'touch ', [:evstr, [:lvar, :t]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :t, s(:lit, 5)),
+                                s(:dxstr, 'touch ', s(:evstr, s(:lvar, :t)))))
+
+  add_tests("ensure",
+            "Ruby"         => "begin\n  (1 + 1)\nrescue SyntaxError => e1\n  2\nrescue Exception => e2\n  3\nelse\n  4\nensure\n  5\nend",
+            "RawParseTree" => [:ensure,
+                               [:rescue,
+                                [:call, [:lit, 1], :+, [:array, [:lit, 1]]],
+                                [:resbody,
+                                 [:array, [:const, :SyntaxError]],
+                                 [:block,
+                                  [:lasgn, :e1, [:gvar, :$!]], [:lit, 2]],
+                                 [:resbody,
+                                  [:array, [:const, :Exception]],
+                                  [:block,
+                                   [:lasgn, :e2, [:gvar, :$!]], [:lit, 3]]]],
+                                [:lit, 4]],
+                               [:lit, 5]],
+            "ParseTree"    => s(:ensure,
+                                s(:rescue,
+                                  s(:call, s(:lit, 1), :+,
+                                    s(:arglist, s(:lit, 1))),
+                                  s(:resbody,
+                                    s(:array,
+                                      s(:const, :SyntaxError),
+                                      s(:lasgn, :e1, s(:gvar, :$!))),
+                                    s(:lit, 2)),
+                                  s(:resbody,
+                                    s(:array,
+                                      s(:const, :Exception),
+                                      s(:lasgn, :e2, s(:gvar, :$!))),
+                                    s(:lit, 3)),
+                                  s(:lit, 4)),
+                                s(:lit, 5)))
+
+  add_tests("false",
+            "Ruby"         => "false",
+            "RawParseTree" => [:false],
+            "ParseTree"    => s(:false))
+
+  add_tests("fbody",
+            "Ruby"         => [Examples, :an_alias],
+            "RawParseTree" => [:defn, :an_alias,
+                               [:fbody,
+                                [:scope,
+                                 [:block,
+                                  [:args, :x],
+                                  [:call, [:lvar, :x], :+,
+                                   [:array, [:lit, 1]]]]]]],
+            "ParseTree"    => s(:defn, :an_alias,
+                                s(:args, :x),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, s(:lvar, :x), :+,
+                                      s(:arglist, s(:lit, 1)))))),
+            "Ruby2Ruby"    => "def an_alias(x)\n  (x + 1)\nend")
+
+  add_tests("fcall_arglist",
+            "Ruby"         => "m(42)",
+            "RawParseTree" => [:fcall, :m, [:array, [:lit, 42]]],
+            "ParseTree"    => s(:call, nil, :m, s(:arglist, s(:lit, 42))))
+
+  add_tests("fcall_arglist_hash",
+            "Ruby"         => "m(:a => 1, :b => 2)",
+            "RawParseTree" => [:fcall, :m,
+                               [:array,
+                                [:hash,
+                                 [:lit, :a], [:lit, 1],
+                                 [:lit, :b], [:lit, 2]]]],
+            "ParseTree"    => s(:call, nil, :m,
+                                s(:arglist,
+                                  s(:hash,
+                                    s(:lit, :a), s(:lit, 1),
+                                    s(:lit, :b), s(:lit, 2)))))
+
+  add_tests("fcall_arglist_norm_hash",
+            "Ruby"         => "m(42, :a => 1, :b => 2)",
+            "RawParseTree" => [:fcall, :m,
+                               [:array,
+                                [:lit, 42],
+                                [:hash,
+                                 [:lit, :a], [:lit, 1],
+                                 [:lit, :b], [:lit, 2]]]],
+            "ParseTree"    => s(:call, nil, :m,
+                                s(:arglist,
+                                  s(:lit, 42),
+                                  s(:hash,
+                                    s(:lit, :a), s(:lit, 1),
+                                    s(:lit, :b), s(:lit, 2)))))
+
+  add_tests("fcall_arglist_norm_hash_splat",
+            "Ruby"         => "m(42, :a => 1, :b => 2, *c)",
+            "RawParseTree" => [:fcall, :m,
+                               [:argscat,
+                                [:array,
+                                 [:lit, 42],
+                                 [:hash,
+                                  [:lit, :a], [:lit, 1],
+                                  [:lit, :b], [:lit, 2]]],
+                                [:vcall, :c]]],
+            "ParseTree"    => s(:call, nil, :m,
+                                s(:arglist,
+                                  s(:lit, 42),
+                                  s(:hash,
+                                    s(:lit, :a), s(:lit, 1),
+                                    s(:lit, :b), s(:lit, 2)),
+                                  s(:splat, s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("fcall_block",
+            "Ruby"         => "a(:b) { :c }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a, [:array, [:lit, :b]]], nil,
+                               [:lit, :c]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a,
+                                  s(:arglist, s(:lit, :b))), nil,
+                                s(:lit, :c)))
+
+  add_tests("fcall_index_space",
+            "Ruby"         => "a [42]",
+            "RawParseTree" => [:fcall, :a, [:array, [:array, [:lit, 42]]]],
+            "ParseTree"    => s(:call, nil, :a,
+                                s(:arglist, s(:array, s(:lit, 42)))),
+            "Ruby2Ruby"    => "a([42])")
+
+  add_tests("fcall_keyword",
+            "Ruby"         => "42 if block_given?",
+            "RawParseTree" => [:if, [:fcall, :block_given?], [:lit, 42], nil],
+            "ParseTree"    => s(:if,
+                                s(:call, nil, :block_given?, s(:arglist)),
+                                s(:lit, 42), nil))
+
+  add_tests("flip2",
+            "Ruby"         => "x = if ((i % 4) == 0)..((i % 3) == 0) then\n  i\nelse\n  nil\nend",
+            "RawParseTree" => [:lasgn,
+                               :x,
+                               [:if,
+                                [:flip2,
+                                 [:call,
+                                  [:call, [:vcall, :i], :%,
+                                   [:array, [:lit, 4]]],
+                                  :==,
+                                  [:array, [:lit, 0]]],
+                                 [:call,
+                                  [:call, [:vcall, :i], :%,
+                                   [:array, [:lit, 3]]],
+                                  :==,
+                                  [:array, [:lit, 0]]]],
+                                [:vcall, :i],
+                                [:nil]]],
+            "ParseTree"    => s(:lasgn,
+                                :x,
+                                s(:if,
+                                  s(:flip2,
+                                    s(:call,
+                                      s(:call, s(:call, nil, :i, s(:arglist)),
+                                        :%,
+                                        s(:arglist, s(:lit, 4))),
+                                      :==,
+                                      s(:arglist, s(:lit, 0))),
+                                    s(:call,
+                                      s(:call, s(:call, nil, :i, s(:arglist)),
+                                        :%,
+                                        s(:arglist, s(:lit, 3))),
+                                      :==,
+                                      s(:arglist, s(:lit, 0)))),
+                                  s(:call, nil, :i, s(:arglist)),
+                                  s(:nil))))
+
+  add_tests("flip2_method",
+            "Ruby"         => "if 1..2.a?(b) then\n  nil\nend",
+            "RawParseTree" => [:if,
+                               [:flip2,
+                                [:call, [:lit, 1], :==,
+                                 [:array, [:gvar, :$.]]],
+                                [:call, [:lit, 2], :a?,
+                                 [:array, [:vcall, :b]]]],
+                               [:nil],
+                               nil],
+            "ParseTree"    => s(:if,
+                                s(:flip2,
+                                  s(:lit, 1),
+                                  s(:call, s(:lit, 2), :a?,
+                                    s(:arglist,
+                                      s(:call, nil, :b, s(:arglist))))),
+                                s(:nil),
+                                nil))
+
+  add_tests("flip3",
+            "Ruby"         => "x = if ((i % 4) == 0)...((i % 3) == 0) then\n  i\nelse\n  nil\nend",
+            "RawParseTree" => [:lasgn,
+                               :x,
+                               [:if,
+                                [:flip3,
+                                 [:call,
+                                  [:call, [:vcall, :i], :%,
+                                   [:array, [:lit, 4]]],
+                                  :==,
+                                  [:array, [:lit, 0]]],
+                                 [:call,
+                                  [:call, [:vcall, :i], :%,
+                                   [:array, [:lit, 3]]],
+                                  :==,
+                                  [:array, [:lit, 0]]]],
+                                [:vcall, :i],
+                                [:nil]]],
+            "ParseTree"    => s(:lasgn,
+                                :x,
+                                s(:if,
+                                  s(:flip3,
+                                    s(:call,
+                                      s(:call, s(:call, nil, :i, s(:arglist)),
+                                        :%,
+                                        s(:arglist, s(:lit, 4))),
+                                      :==,
+                                      s(:arglist, s(:lit, 0))),
+                                    s(:call,
+                                      s(:call, s(:call, nil, :i, s(:arglist)),
+                                        :%,
+                                        s(:arglist, s(:lit, 3))),
+                                      :==,
+                                      s(:arglist, s(:lit, 0)))),
+                                  s(:call, nil, :i, s(:arglist)),
+                                  s(:nil))))
+
+  add_tests("for",
+            "Ruby"         => "for o in ary do\n  puts(o)\nend",
+            "RawParseTree" => [:for,
+                               [:vcall, :ary],
+                               [:lasgn, :o],
+                               [:fcall, :puts, [:array, [:lvar, :o]]]],
+            "ParseTree"    => s(:for,
+                                s(:call, nil, :ary, s(:arglist)),
+                                s(:lasgn, :o),
+                                s(:call, nil, :puts,
+                                  s(:arglist, s(:lvar, :o)))))
+
+  add_tests("for_no_body",
+            "Ruby"         => "for i in (0..max) do\n  # do nothing\nend",
+            "RawParseTree" => [:for,
+                               [:dot2, [:lit, 0], [:vcall, :max]],
+                               [:lasgn, :i]],
+            "ParseTree"    => s(:for,
+                                s(:dot2,
+                                  s(:lit, 0),
+                                  s(:call, nil, :max, s(:arglist))),
+                                s(:lasgn, :i)))
+
+  add_tests("gasgn",
+            "Ruby"         => "$x = 42",
+            "RawParseTree" => [:gasgn, :$x, [:lit, 42]],
+            "ParseTree"    => s(:gasgn, :$x, s(:lit, 42)))
+
+  add_tests("global",
+            "Ruby"         => "$stderr",
+            "RawParseTree" =>  [:gvar, :$stderr],
+            "ParseTree"    =>  s(:gvar, :$stderr))
+
+  add_tests("gvar",
+            "Ruby"         => "$x",
+            "RawParseTree" => [:gvar, :$x],
+            "ParseTree"    => s(:gvar, :$x))
+
+  add_tests("gvar_underscore",
+            "Ruby"         => "$_",
+            "RawParseTree" => [:gvar, :$_],
+            "ParseTree"    => s(:gvar, :$_))
+
+  add_tests("gvar_underscore_blah",
+            "Ruby"         => "$__blah",
+            "RawParseTree" => [:gvar, :$__blah],
+            "ParseTree"    => s(:gvar, :$__blah))
+
+  add_tests("hash",
+            "Ruby"         => "{ 1 => 2, 3 => 4 }",
+            "RawParseTree" => [:hash,
+                               [:lit, 1], [:lit, 2],
+                               [:lit, 3], [:lit, 4]],
+            "ParseTree"    => s(:hash,
+                                s(:lit, 1), s(:lit, 2),
+                                s(:lit, 3), s(:lit, 4)))
+
+  add_tests("hash_rescue",
+            "Ruby"         => "{ 1 => (2 rescue 3) }",
+            "RawParseTree" => [:hash,
+                               [:lit, 1],
+                               [:rescue,
+                                [:lit, 2],
+                                [:resbody, nil, [:lit, 3]]]],
+            "ParseTree"    => s(:hash,
+                                s(:lit, 1),
+                                s(:rescue,
+                                  s(:lit, 2),
+                                  s(:resbody, s(:array), s(:lit, 3)))))
+
+  add_tests("iasgn",
+            "Ruby"         => "@a = 4",
+            "RawParseTree" => [:iasgn, :@a, [:lit, 4]],
+            "ParseTree"    => s(:iasgn, :@a, s(:lit, 4)))
+
+  add_tests("if_block_condition",
+            "Ruby"         => "if (x = 5\n(x + 1)) then\n  nil\nend",
+            "RawParseTree" => [:if,
+                               [:block,
+                                [:lasgn, :x, [:lit, 5]],
+                                [:call,
+                                 [:lvar, :x],
+                                 :+,
+                                 [:array, [:lit, 1]]]],
+                               [:nil],
+                               nil],
+            "ParseTree"    => s(:if,
+                                s(:block,
+                                  s(:lasgn, :x, s(:lit, 5)),
+                                  s(:call,
+                                    s(:lvar, :x),
+                                    :+,
+                                    s(:arglist, s(:lit, 1)))),
+                                s(:nil),
+                                nil))
+
+  add_tests("if_lasgn_short",
+            "Ruby"         => "if x = obj.x then\n  x.do_it\nend",
+            "RawParseTree" => [:if,
+                               [:lasgn, :x,
+                                [:call, [:vcall, :obj], :x]],
+                               [:call,
+                                [:lvar, :x], :do_it],
+                               nil],
+            "ParseTree"    => s(:if,
+                                s(:lasgn, :x,
+                                  s(:call,
+                                    s(:call, nil, :obj, s(:arglist)),
+                                    :x, s(:arglist))),
+                                s(:call, s(:lvar, :x), :do_it, s(:arglist)),
+                                nil))
+
+  add_tests("if_nested",
+            "Ruby"         => "return if false unless true",
+            "RawParseTree" => [:if, [:true], nil,
+                               [:if, [:false], [:return], nil]],
+            "ParseTree"    => s(:if, s(:true), nil,
+                                s(:if, s(:false), s(:return), nil)))
+
+  add_tests("if_post",
+            "Ruby"         => "a if b",
+            "RawParseTree" => [:if, [:vcall, :b], [:vcall, :a], nil],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)),
+                                s(:call, nil, :a, s(:arglist)), nil))
+
+  add_tests("if_post_not",
+            "Ruby"         => "a if not b",
+            "RawParseTree" => [:if, [:vcall, :b], nil, [:vcall, :a]],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)), nil,
+                                s(:call, nil, :a, s(:arglist))),
+            "Ruby2Ruby"    => "a unless b")
+
+  add_tests("if_pre",
+            "Ruby"         => "if b then a end",
+            "RawParseTree" => [:if, [:vcall, :b], [:vcall, :a], nil],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)),
+                                s(:call, nil, :a, s(:arglist)), nil),
+            "Ruby2Ruby"    => "a if b")
+
+  add_tests("if_pre_not",
+            "Ruby"         => "if not b then a end",
+            "RawParseTree" => [:if, [:vcall, :b], nil, [:vcall, :a]],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)), nil,
+                                s(:call, nil, :a, s(:arglist))),
+            "Ruby2Ruby"    => "a unless b")
+
+  add_tests("iter_call_arglist_space",
+            "Ruby" => "a (1) {|c|d}",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a, [:array, [:lit, 1]]],
+                               [:dasgn_curr, :c],
+                               [:vcall, :d]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist, s(:lit, 1))),
+                                s(:lasgn, :c),
+                                s(:call, nil, :d, s(:arglist))),
+            "Ruby2Ruby"    => "a(1) { |c| d }")
+
+  add_tests("iter_dasgn_curr_dasgn_madness",
+            "Ruby"         => "as.each { |a|\n  b += a.b(false) }",
+            "RawParseTree" => [:iter,
+                               [:call, [:vcall, :as], :each],
+                               [:dasgn_curr, :a],
+                               [:dasgn_curr,
+                                :b,
+                                [:call,
+                                 [:dvar, :b],
+                                 :+,
+                                 [:array,
+                                  [:call, [:dvar, :a], :b,
+                                   [:array, [:false]]]]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call,
+                                  s(:call, nil, :as, s(:arglist)),
+                                  :each, s(:arglist)),
+                                s(:lasgn, :a),
+                                s(:lasgn, :b,
+                                  s(:call,
+                                    s(:lvar, :b),
+                                    :+,
+                                    s(:arglist,
+                                      s(:call, s(:lvar, :a), :b,
+                                        s(:arglist, s(:false))))))),
+            "Ruby2Ruby"    => "as.each { |a| b = (b + a.b(false)) }")
+
+  add_tests("iter_downto",
+            "Ruby"         => "3.downto(1) { |n| puts(n.to_s) }",
+            "RawParseTree" => [:iter,
+                               [:call, [:lit, 3], :downto, [:array, [:lit, 1]]],
+                               [:dasgn_curr, :n],
+                               [:fcall, :puts,
+                                [:array, [:call, [:dvar, :n], :to_s]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, s(:lit, 3), :downto,
+                                  s(:arglist, s(:lit, 1))),
+                                s(:lasgn, :n),
+                                s(:call, nil, :puts,
+                                  s(:arglist,
+                                    s(:call, s(:lvar, :n),
+                                      :to_s, s(:arglist))))))
+
+  add_tests("iter_each_lvar",
+            "Ruby"         => "array = [1, 2, 3]\narray.each { |x| puts(x.to_s) }\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :array,
+                                [:array, [:lit, 1], [:lit, 2], [:lit, 3]]],
+                               [:iter,
+                                [:call, [:lvar, :array], :each],
+                                [:dasgn_curr, :x],
+                                [:fcall, :puts,
+                                 [:array, [:call, [:dvar, :x], :to_s]]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :array,
+                                  s(:array,
+                                    s(:lit, 1), s(:lit, 2), s(:lit, 3))),
+                                s(:iter,
+                                  s(:call, s(:lvar, :array), :each,
+                                    s(:arglist)),
+                                  s(:lasgn, :x),
+                                  s(:call, nil, :puts,
+                                    s(:arglist, s(:call, s(:lvar, :x),
+                                                  :to_s, s(:arglist)))))))
+
+  add_tests("iter_each_nested",
+            "Ruby"         => "array1 = [1, 2, 3]\narray2 = [4, 5, 6, 7]\narray1.each do |x|\n  array2.each do |y|\n    puts(x.to_s)\n    puts(y.to_s)\n  end\nend\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :array1,
+                                [:array, [:lit, 1], [:lit, 2], [:lit, 3]]],
+                               [:lasgn, :array2,
+                                [:array,
+                                 [:lit, 4], [:lit, 5], [:lit, 6], [:lit, 7]]],
+                               [:iter,
+                                [:call,
+                                 [:lvar, :array1], :each],
+                                [:dasgn_curr, :x],
+                                [:iter,
+                                 [:call,
+                                  [:lvar, :array2], :each],
+                                 [:dasgn_curr, :y],
+                                 [:block,
+                                  [:fcall, :puts,
+                                   [:array, [:call, [:dvar, :x], :to_s]]],
+                                  [:fcall, :puts,
+                                   [:array, [:call, [:dvar, :y], :to_s]]]]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :array1,
+                                  s(:array,
+                                    s(:lit, 1), s(:lit, 2), s(:lit, 3))),
+                                s(:lasgn, :array2,
+                                  s(:array,
+                                    s(:lit, 4), s(:lit, 5),
+                                    s(:lit, 6), s(:lit, 7))),
+                                s(:iter,
+                                  s(:call,
+                                    s(:lvar, :array1), :each, s(:arglist)),
+                                  s(:lasgn, :x),
+                                  s(:iter,
+                                    s(:call,
+                                      s(:lvar, :array2), :each, s(:arglist)),
+                                    s(:lasgn, :y),
+                                    s(:block,
+                                      s(:call, nil, :puts,
+                                        s(:arglist,
+                                          s(:call, s(:lvar, :x),
+                                            :to_s, s(:arglist)))),
+                                      s(:call, nil, :puts,
+                                        s(:arglist,
+                                          s(:call, s(:lvar, :y),
+                                            :to_s, s(:arglist)))))))))
+
+  add_tests("iter_loop_empty",
+            "Ruby"         => "loop { }",
+            "RawParseTree" => [:iter, [:fcall, :loop], nil],
+            "ParseTree"    => s(:iter, s(:call, nil, :loop, s(:arglist)), nil))
+
+  add_tests("iter_masgn_2",
+            "Ruby"         => "a { |b, c| p(c) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               [:masgn,
+                                [:array, [:dasgn_curr, :b], [:dasgn_curr, :c]],
+                                nil, nil],
+                               [:fcall, :p, [:array, [:dvar, :c]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:masgn,
+                                  s(:array, s(:lasgn, :b), s(:lasgn, :c))),
+                                s(:call, nil, :p, s(:arglist, s(:lvar, :c)))))
+
+  add_tests("iter_masgn_args_splat",
+            "Ruby"         => "a { |b, c, *d| p(c) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               [:masgn,
+                                [:array, [:dasgn_curr, :b], [:dasgn_curr, :c]],
+                                [:dasgn_curr, :d], nil],
+                               [:fcall, :p, [:array, [:dvar, :c]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:masgn,
+                                  s(:array,
+                                    s(:lasgn, :b),
+                                    s(:lasgn, :c),
+                                    s(:splat, s(:lasgn, :d)))),
+                                s(:call, nil, :p, s(:arglist, s(:lvar, :c)))))
+
+  add_tests("iter_masgn_args_splat_no_name",
+            "Ruby"         => "a { |b, c, *| p(c) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               [:masgn,
+                                [:array, [:dasgn_curr, :b], [:dasgn_curr, :c]],
+                                [:splat], nil],
+                               [:fcall, :p, [:array, [:dvar, :c]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:masgn,
+                                  s(:array,
+                                    s(:lasgn, :b),
+                                    s(:lasgn, :c),
+                                    s(:splat))),
+                                s(:call, nil, :p, s(:arglist, s(:lvar, :c)))))
+
+  add_tests("iter_masgn_splat",
+            "Ruby"         => "a { |*c| p(c) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               [:masgn, nil, [:dasgn_curr, :c], nil],
+                               [:fcall, :p, [:array, [:dvar, :c]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:masgn, s(:array, s(:splat, s(:lasgn, :c)))),
+                                s(:call, nil, :p, s(:arglist, s(:lvar, :c)))))
+
+  add_tests("iter_masgn_splat_no_name",
+            "Ruby"         => "a { |*| p(c) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               [:masgn, nil, [:splat], nil],
+                               [:fcall, :p, [:array, [:vcall, :c]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:masgn, s(:array, s(:splat))),
+                                s(:call, nil, :p,
+                                  s(:arglist, s(:call, nil, :c, s(:arglist))))))
+
+  add_tests("iter_shadowed_var",
+            "Ruby"         => "a do |x|\n  b do |x|\n    puts x\n  end\nend",
+            "RawParseTree" => [:iter,
+                               [:fcall, :a],
+                               [:dasgn_curr, :x],
+                               [:iter,
+                                [:fcall, :b],
+                                [:dasgn, :x],
+                                [:fcall, :puts, [:array, [:dvar, :x]]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:lasgn, :x),
+                                s(:iter,
+                                  s(:call, nil, :b, s(:arglist)),
+                                  s(:lasgn, :x),
+                                  s(:call, nil, :puts,
+                                    s(:arglist, s(:lvar, :x))))),
+            "Ruby2Ruby"    => "a { |x| b { |x| puts(x) } }")
+
+  add_tests("iter_upto",
+            "Ruby"         => "1.upto(3) { |n| puts(n.to_s) }",
+            "RawParseTree" => [:iter,
+                               [:call, [:lit, 1], :upto, [:array, [:lit, 3]]],
+                               [:dasgn_curr, :n],
+                               [:fcall, :puts,
+                                [:array, [:call, [:dvar, :n], :to_s]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, s(:lit, 1), :upto,
+                                  s(:arglist, s(:lit, 3))),
+                                s(:lasgn, :n),
+                                s(:call, nil, :puts,
+                                  s(:arglist,
+                                    s(:call, s(:lvar, :n), :to_s,
+                                      s(:arglist))))))
+
+  add_tests("iter_while",
+            "Ruby"         => "argl = 10\nwhile (argl >= 1) do\n  puts(\"hello\")\n  argl = (argl - 1)\nend\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :argl, [:lit, 10]],
+                               [:while,
+                                [:call, [:lvar, :argl], :">=",
+                                 [:array, [:lit, 1]]],
+                                [:block,
+                                 [:fcall, :puts, [:array, [:str, "hello"]]],
+                                 [:lasgn,
+                                  :argl,
+                                  [:call, [:lvar, :argl],
+                                   :"-", [:array, [:lit, 1]]]]], true]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :argl, s(:lit, 10)),
+                                s(:while,
+                                  s(:call, s(:lvar, :argl), :">=",
+                                    s(:arglist, s(:lit, 1))),
+                                  s(:block,
+                                    s(:call, nil, :puts,
+                                      s(:arglist, s(:str, "hello"))),
+                                    s(:lasgn,
+                                      :argl,
+                                      s(:call, s(:lvar, :argl), :"-",
+                                        s(:arglist, s(:lit, 1))))), true)))
+
+  add_tests("ivar",
+            "Ruby"         => [Examples, :reader],
+            "RawParseTree" => [:defn, :reader, [:ivar, :@reader]],
+            "ParseTree"    => s(:defn, :reader, # FIX should be unified?
+                                s(:args),
+                                s(:ivar, :@reader)),
+            "Ruby2Ruby"    => "attr_reader :reader")
+
+  add_tests("lasgn_array",
+            "Ruby"         => "var = [\"foo\", \"bar\"]",
+            "RawParseTree" => [:lasgn, :var,
+                               [:array,
+                                [:str, "foo"],
+                                [:str, "bar"]]],
+            "ParseTree"    => s(:lasgn, :var,
+                                s(:array,
+                                  s(:str, "foo"),
+                                  s(:str, "bar"))))
+
+  add_tests("lasgn_call",
+            "Ruby"         => "c = (2 + 3)",
+            "RawParseTree" => [:lasgn, :c, [:call, [:lit, 2], :+,
+                                            [:array, [:lit, 3]]]],
+            "ParseTree"    => s(:lasgn, :c, s(:call, s(:lit, 2), :+,
+                                              s(:arglist, s(:lit, 3)))))
+
+  add_tests("lit_bool_false",
+            "Ruby"         => "false",
+            "RawParseTree" => [:false],
+            "ParseTree"    => s(:false))
+
+  add_tests("lit_bool_true",
+            "Ruby"         => "true",
+            "RawParseTree" => [:true],
+            "ParseTree"    => s(:true))
+
+  add_tests("lit_float",
+            "Ruby"         => "1.1",
+            "RawParseTree" => [:lit, 1.1],
+            "ParseTree"    => s(:lit, 1.1))
+
+  add_tests("lit_long",
+            "Ruby"         => "1",
+            "RawParseTree" => [:lit, 1],
+            "ParseTree"    => s(:lit, 1))
+
+  add_tests("lit_long_negative",
+            "Ruby"         => "-1",
+            "RawParseTree" => [:lit, -1],
+            "ParseTree"    => s(:lit, -1))
+
+  add_tests("lit_range2",
+            "Ruby"         => "(1..10)",
+            "RawParseTree" => [:lit, 1..10],
+            "ParseTree"    => s(:lit, 1..10))
+
+  add_tests("lit_range3",
+            "Ruby"         => "(1...10)",
+            "RawParseTree" => [:lit, 1...10],
+            "ParseTree"    => s(:lit, 1...10))
+
+# TODO: discuss and decide which lit we like
+#   it "converts a regexp to an sexp" do
+#     "/blah/".to_sexp.should == s(:regex, "blah", 0)
+#     "/blah/i".to_sexp.should == s(:regex, "blah", 1)
+#     "/blah/u".to_sexp.should == s(:regex, "blah", 64)
+#   end
+
+  add_tests("lit_regexp",
+            "Ruby"         => "/x/",
+            "RawParseTree" => [:lit, /x/],
+            "ParseTree"    => s(:lit, /x/))
+
+  add_tests("lit_regexp_i_wwtt",
+            "Ruby"         => 'str.split(//i)',
+            "RawParseTree" => [:call, [:vcall, :str], :split,
+                               [:array, [:lit, //i]]],
+            "ParseTree"    => s(:call, s(:call, nil, :str, s(:arglist)), :split,
+                                s(:arglist, s(:lit, //i))))
+
+  add_tests("lit_regexp_n",
+            "Ruby"         => "/x/n", # HACK differs on 1.9 - this is easiest
+            "RawParseTree" => [:lit, /x/n],
+            "ParseTree"    => s(:lit, /x/n),
+            "Ruby2Ruby"    => /x/n.inspect)
+
+  add_tests("lit_regexp_once",
+            "Ruby"         => "/x/o",
+            "RawParseTree" => [:lit, /x/],
+            "ParseTree"    => s(:lit, /x/),
+            "Ruby2Ruby"    => "/x/")
+
+  add_tests("lit_sym",
+            "Ruby"         => ":x",
+            "RawParseTree" => [:lit, :x],
+            "ParseTree"    => s(:lit, :x))
+
+  add_tests("lit_sym_splat",
+            "Ruby"         => ":\"*args\"",
+            "RawParseTree" => [:lit, :"*args"],
+            "ParseTree"    => s(:lit, :"*args"))
+
+  add_tests("lvar_def_boundary",
+            "Ruby"         => "b = 42\ndef a\n  c do\n    begin\n      do_stuff\n    rescue RuntimeError => b\n      puts(b)\n    end\n  end\nend\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :b, [:lit, 42]],
+                               [:defn, :a,
+                                [:scope,
+                                 [:block,
+                                  [:args],
+                                  [:iter,
+                                   [:fcall, :c],
+                                   nil,
+                                   [:rescue,
+                                    [:vcall, :do_stuff],
+                                    [:resbody,
+                                     [:array, [:const, :RuntimeError]],
+                                     [:block,
+                                      [:dasgn_curr, :b, [:gvar, :$!]],
+                                      [:fcall, :puts,
+                                       [:array, [:dvar, :b]]]]]]]]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :b, s(:lit, 42)),
+                                s(:defn, :a,
+                                  s(:args),
+                                  s(:scope,
+                                    s(:block,
+                                      s(:iter,
+                                        s(:call, nil, :c, s(:arglist)),
+                                        nil,
+                                        s(:rescue,
+                                          s(:call, nil, :do_stuff, s(:arglist)),
+                                          s(:resbody,
+                                            s(:array,
+                                              s(:const, :RuntimeError),
+                                              s(:lasgn, :b, s(:gvar, :$!))),
+                                            s(:call, nil, :puts,
+                                              s(:arglist,
+                                                s(:lvar, :b)))))))))))
+
+  add_tests("masgn",
+            "Ruby"         => "a, b = c, d",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]], nil,
+                               [:array,  [:vcall, :c], [:vcall, :d]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array, s(:lasgn, :a), s(:lasgn, :b)),
+                                s(:array, s(:call, nil, :c, s(:arglist)),
+                                  s(:call, nil, :d, s(:arglist)))))
+
+  add_tests("masgn_argscat",
+            "Ruby"         => "a, b, *c = 1, 2, *[3, 4]",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               [:lasgn, :c],
+                               [:argscat,
+                                [:array, [:lit, 1], [:lit, 2]],
+                                [:array, [:lit, 3], [:lit, 4]]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b),
+                                  s(:splat, s(:lasgn, :c))),
+                                s(:array,
+                                  s(:lit, 1), s(:lit, 2),
+                                  s(:splat,
+                                    s(:array, s(:lit, 3), s(:lit, 4))))))
+
+  add_tests("masgn_attrasgn",
+            "Ruby"         => "a, b.c = d, e",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a],
+                                [:attrasgn, [:vcall, :b], :c=]], nil,
+                               [:array, [:vcall, :d], [:vcall, :e]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:attrasgn,
+                                    s(:call, nil, :b, s(:arglist)),
+                                    :c=, s(:arglist))),
+                                s(:array,
+                                  s(:call, nil, :d, s(:arglist)),
+                                  s(:call, nil, :e, s(:arglist)))))
+
+  add_tests("masgn_attrasgn_array_rhs",
+            "Ruby"         => "a.b, a.c, _ = q",
+            "RawParseTree" => [:masgn,
+                                [:array,
+                                  [:attrasgn, [:vcall, :a], :b=],
+                                  [:attrasgn, [:vcall, :a], :c=],
+                                  [:lasgn, :_]], nil,
+                                [:to_ary, [:vcall, :q]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:attrasgn,
+                                    s(:call, nil, :a, s(:arglist)),
+                                    :b=, s(:arglist)),
+                                  s(:attrasgn,
+                                    s(:call, nil, :a, s(:arglist)),
+                                    :c=, s(:arglist)),
+                                  s(:lasgn, :_)),
+                                s(:to_ary,
+                                  s(:call, nil, :q, s(:arglist)))))
+
+  add_tests("masgn_attrasgn_idx",
+            "Ruby"         => "a, i, j = [], 1, 2\na[i], a[j] = a[j], a[i]\n",
+            "RawParseTree" => [:block,
+                               [:masgn,
+                                [:array,
+                                 [:lasgn, :a], [:lasgn, :i], [:lasgn, :j]], nil,
+                                [:array, [:zarray], [:lit, 1], [:lit, 2]]],
+                               [:masgn,
+                                [:array,
+                                 [:attrasgn,
+                                  [:lvar, :a], :[]=, [:array, [:lvar, :i]]],
+                                 [:attrasgn,
+                                  [:lvar, :a], :[]=, [:array, [:lvar, :j]]]],
+                                nil,
+                                [:array,
+                                 [:call, [:lvar, :a], :[],
+                                  [:array, [:lvar, :j]]],
+                                 [:call, [:lvar, :a], :[],
+                                  [:array, [:lvar, :i]]]]]],
+            "ParseTree"    => s(:block,
+                                s(:masgn,
+                                  s(:array,
+                                    s(:lasgn, :a),
+                                    s(:lasgn, :i), s(:lasgn, :j)),
+                                  s(:array, s(:array), s(:lit, 1), s(:lit, 2))),
+                                s(:masgn,
+                                  s(:array,
+                                    s(:attrasgn, s(:lvar, :a), :[]=,
+                                      s(:arglist, s(:lvar, :i))),
+                                    s(:attrasgn, s(:lvar, :a), :[]=,
+                                      s(:arglist, s(:lvar, :j)))),
+                                  s(:array,
+                                    s(:call, s(:lvar, :a), :[],
+                                      s(:arglist, s(:lvar, :j))),
+                                    s(:call, s(:lvar, :a), :[],
+                                      s(:arglist, s(:lvar, :i)))))))
+
+  add_tests("masgn_cdecl",
+            "Ruby"         => "A, B, C = 1, 2, 3",
+            "RawParseTree" => [:masgn,
+                               [:array, [:cdecl, :A], [:cdecl, :B],
+                                [:cdecl, :C]], nil,
+                               [:array, [:lit, 1], [:lit, 2], [:lit, 3]]],
+            "ParseTree"    => s(:masgn,
+                               s(:array, s(:cdecl, :A), s(:cdecl, :B),
+                                s(:cdecl, :C)),
+                               s(:array, s(:lit, 1), s(:lit, 2), s(:lit, 3))))
+
+
+  add_tests("masgn_iasgn",
+            "Ruby"         => "a, @b = c, d",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:iasgn, :"@b"]], nil,
+                               [:array,  [:vcall, :c], [:vcall, :d]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array, s(:lasgn, :a), s(:iasgn, :"@b")),
+                                s(:array,
+                                  s(:call, nil, :c, s(:arglist)),
+                                  s(:call, nil, :d, s(:arglist)))))
+
+  add_tests("masgn_masgn",
+            "Ruby"         => "a, (b, c) = [1, [2, 3]]",
+            "RawParseTree" => [:masgn,
+                               [:array,
+                                [:lasgn, :a],
+                                [:masgn,
+                                 [:array,
+                                  [:lasgn, :b],
+                                  [:lasgn, :c]], nil, nil]],
+                               nil,
+                               [:to_ary,
+                                [:array,
+                                 [:lit, 1],
+                                 [:array,
+                                  [:lit, 2],
+                                  [:lit, 3]]]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:masgn,
+                                    s(:array,
+                                      s(:lasgn, :b),
+                                      s(:lasgn, :c)))),
+                                s(:to_ary,
+                                  s(:array,
+                                    s(:lit, 1),
+                                    s(:array,
+                                      s(:lit, 2),
+                                      s(:lit, 3))))))
+
+  add_tests("masgn_splat_lhs",
+            "Ruby"         => "a, b, *c = d, e, f, g",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               [:lasgn, :c],
+                               [:array,
+                                [:vcall, :d], [:vcall, :e],
+                                [:vcall, :f], [:vcall, :g]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b),
+                                  s(:splat, s(:lasgn, :c))),
+                                s(:array,
+                                  s(:call, nil, :d, s(:arglist)),
+                                  s(:call, nil, :e, s(:arglist)),
+                                  s(:call, nil, :f, s(:arglist)),
+                                  s(:call, nil, :g, s(:arglist)))))
+
+  add_tests("masgn_splat_rhs_1",
+            "Ruby"         => "a, b = *c",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               nil,
+                               [:splat, [:vcall, :c]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b)),
+                                s(:splat, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("masgn_splat_rhs_n",
+            "Ruby"         => "a, b = c, d, *e",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               nil,
+                               [:argscat,
+                                [:array, [:vcall, :c], [:vcall, :d]],
+                                [:vcall, :e]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b)),
+                                s(:array,
+                                  s(:call, nil, :c, s(:arglist)),
+                                  s(:call, nil, :d, s(:arglist)),
+                                  s(:splat, s(:call, nil, :e, s(:arglist))))))
+
+  add_tests("masgn_splat_no_name_to_ary",
+            "Ruby"         => "a, b, * = c",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               [:splat],
+                               [:to_ary, [:vcall, :c]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b),
+                                  s(:splat)),
+                                s(:to_ary, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("masgn_splat_no_name_trailing",
+            "Ruby"         => "a, b, = c",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]], nil,
+                               [:to_ary, [:vcall, :c]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array, s(:lasgn, :a), s(:lasgn, :b)),
+                                s(:to_ary, s(:call, nil, :c, s(:arglist)))),
+            "Ruby2Ruby"    => "a, b = c") # TODO: check this is right
+
+  add_tests("masgn_splat_to_ary",
+            "Ruby"         => "a, b, *c = d",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               [:lasgn, :c],
+                               [:to_ary, [:vcall, :d]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b),
+                                  s(:splat, s(:lasgn, :c))),
+                                s(:to_ary, s(:call, nil, :d, s(:arglist)))))
+
+  add_tests("masgn_splat_to_ary2",
+            "Ruby"         => "a, b, *c = d.e(\"f\")",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]],
+                               [:lasgn, :c],
+                               [:to_ary,
+                                [:call, [:vcall, :d], :e,
+                                 [:array, [:str, 'f']]]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array,
+                                  s(:lasgn, :a),
+                                  s(:lasgn, :b),
+                                  s(:splat, s(:lasgn, :c))),
+                                s(:to_ary,
+                                  s(:call,
+                                    s(:call, nil, :d, s(:arglist)),
+                                    :e,
+                                    s(:arglist, s(:str, 'f'))))))
+
+  add_tests("match",
+            "Ruby"         => "1 if /x/",
+            "RawParseTree" => [:if, [:match, [:lit, /x/]], [:lit, 1], nil],
+            "ParseTree"    => s(:if, s(:match, s(:lit, /x/)), s(:lit, 1), nil))
+
+  add_tests("match2",
+            "Ruby"         => "/x/ =~ \"blah\"",
+            "RawParseTree" => [:match2, [:lit, /x/], [:str, "blah"]],
+            "ParseTree"    => s(:match2, s(:lit, /x/), s(:str, "blah")))
+
+  add_tests("match3",
+            "Ruby"         => "\"blah\" =~ /x/",
+            "RawParseTree" => [:match3, [:lit, /x/], [:str, "blah"]],
+            "ParseTree"    => s(:match3, s(:lit, /x/), s(:str, "blah")))
+
+  add_tests("module",
+            "Ruby"         => "module X\n  def y\n    # do nothing\n  end\nend",
+            "RawParseTree" => [:module, :X,
+                               [:scope,
+                                [:defn, :y,
+                                 [:scope, [:block, [:args], [:nil]]]]]],
+            "ParseTree"    => s(:module, :X,
+                                s(:scope,
+                                  s(:defn, :y,
+                                    s(:args),
+                                    s(:scope, s(:block, s(:nil)))))))
+
+  add_tests("module_scoped",
+            "Ruby"         => "module X::Y\n  c\nend",
+            "RawParseTree" => [:module, [:colon2, [:const, :X], :Y],
+                               [:scope, [:vcall, :c]]],
+            "ParseTree"    => s(:module, s(:colon2, s(:const, :X), :Y),
+                                s(:scope, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("module_scoped3",
+            "Ruby"         => "module ::Y\n  c\nend",
+            "RawParseTree" => [:module, [:colon3, :Y], [:scope, [:vcall, :c]]],
+            "ParseTree"    => s(:module,
+                                s(:colon3, :Y),
+                                s(:scope, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("next",
+            "Ruby"         => "loop { next if false }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :loop],
+                               nil,
+                               [:if, [:false], [:next], nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :loop, s(:arglist)),
+                                nil,
+                                s(:if, s(:false), s(:next), nil)))
+
+  add_tests("next_arg",
+            "Ruby"         => "loop { next 42 if false }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :loop],
+                               nil,
+                               [:if, [:false], [:next, [:lit, 42]], nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :loop, s(:arglist)),
+                                nil,
+                                s(:if, s(:false), s(:next, s(:lit, 42)), nil)))
+
+  add_tests("not",
+            "Ruby"         => "(not true)",
+            "RawParseTree" => [:not, [:true]],
+            "ParseTree"    => s(:not, s(:true)))
+
+  add_tests("nth_ref",
+            "Ruby"         => "$1",
+            "RawParseTree" => [:nth_ref, 1],
+            "ParseTree"    => s(:nth_ref, 1))
+
+  add_tests("op_asgn1",
+            "Ruby"         => "b = []\nb[1] ||= 10\nb[2] &&= 11\nb[3] += 12\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :b, [:zarray]],
+                               [:op_asgn1, [:lvar, :b],
+                                [:array, [:lit, 1]], :"||", [:lit, 10]],
+                               [:op_asgn1, [:lvar, :b],
+                                [:array, [:lit, 2]], :"&&", [:lit, 11]],
+                               [:op_asgn1, [:lvar, :b],
+                                [:array, [:lit, 3]], :+, [:lit, 12]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :b, s(:array)),
+                                s(:op_asgn1, s(:lvar, :b),
+                                  s(:arglist, s(:lit, 1)), :"||", s(:lit, 10)),
+                                s(:op_asgn1, s(:lvar, :b),
+                                  s(:arglist, s(:lit, 2)), :"&&", s(:lit, 11)),
+                                s(:op_asgn1, s(:lvar, :b),
+                                  s(:arglist, s(:lit, 3)), :+, s(:lit, 12))))
+
+  add_tests("op_asgn1_ivar",
+            "Ruby"         => "@b = []\n@b[1] ||= 10\n@b[2] &&= 11\n@b[3] += 12\n",
+            "RawParseTree" => [:block,
+                               [:iasgn, :@b, [:zarray]],
+                               [:op_asgn1, [:ivar, :@b],
+                                [:array, [:lit, 1]], :"||", [:lit, 10]],
+                               [:op_asgn1, [:ivar, :@b],
+                                [:array, [:lit, 2]], :"&&", [:lit, 11]],
+                               [:op_asgn1, [:ivar, :@b],
+                                [:array, [:lit, 3]], :+, [:lit, 12]]],
+            "ParseTree"    => s(:block,
+                                s(:iasgn, :@b, s(:array)),
+                                s(:op_asgn1, s(:ivar, :@b),
+                                  s(:arglist, s(:lit, 1)), :"||", s(:lit, 10)),
+                                s(:op_asgn1, s(:ivar, :@b),
+                                  s(:arglist, s(:lit, 2)), :"&&", s(:lit, 11)),
+                                s(:op_asgn1, s(:ivar, :@b),
+                                  s(:arglist, s(:lit, 3)), :+, s(:lit, 12))))
+
+  add_tests("op_asgn2",
+            "Ruby"         => "s = Struct.new(:var)\nc = s.new(nil)\nc.var ||= 20\nc.var &&= 21\nc.var += 22\nc.d.e.f ||= 42\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :s,
+                                [:call, [:const, :Struct],
+                                 :new, [:array, [:lit, :var]]]],
+                               [:lasgn, :c,
+                                [:call, [:lvar, :s], :new, [:array, [:nil]]]],
+
+                               [:op_asgn2, [:lvar, :c], :var=, :"||",
+                                [:lit, 20]],
+                               [:op_asgn2, [:lvar, :c], :var=, :"&&",
+                                [:lit, 21]],
+                               [:op_asgn2, [:lvar, :c], :var=, :+, [:lit, 22]],
+
+                               [:op_asgn2,
+                                [:call,
+                                 [:call, [:lvar, :c], :d], :e], :f=, :"||",
+                                [:lit, 42]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :s,
+                                  s(:call, s(:const, :Struct),
+                                    :new, s(:arglist, s(:lit, :var)))),
+                                s(:lasgn, :c,
+                                  s(:call, s(:lvar, :s),
+                                    :new, s(:arglist, s(:nil)))),
+                                s(:op_asgn2, s(:lvar, :c),
+                                  :var=, :"||", s(:lit, 20)),
+                                s(:op_asgn2, s(:lvar, :c),
+                                  :var=, :"&&", s(:lit, 21)),
+                                s(:op_asgn2, s(:lvar, :c),
+                                  :var=, :+, s(:lit, 22)),
+                                s(:op_asgn2,
+                                  s(:call,
+                                    s(:call, s(:lvar, :c), :d, s(:arglist)),
+                                    :e, s(:arglist)),
+                                  :f=, :"||", s(:lit, 42))))
+
+  add_tests("op_asgn2_self",
+            "Ruby"         => "self.Bag ||= Bag.new",
+            "RawParseTree" => [:op_asgn2, [:self], :"Bag=", :"||",
+                               [:call, [:const, :Bag], :new]],
+            "ParseTree"    => s(:op_asgn2, s(:self), :"Bag=", :"||",
+                                s(:call, s(:const, :Bag), :new, s(:arglist))))
+
+  add_tests("op_asgn_and",
+            "Ruby"         => "a = 0\na &&= 2\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :a, [:lit, 0]],
+                               [:op_asgn_and,
+                                [:lvar, :a], [:lasgn, :a, [:lit, 2]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :a, s(:lit, 0)),
+                                s(:op_asgn_and,
+                                  s(:lvar, :a), s(:lasgn, :a, s(:lit, 2)))))
+
+  add_tests("op_asgn_and_ivar2",
+            "Ruby"         => "@fetcher &&= new(Gem.configuration[:http_proxy])",
+            "RawParseTree" => [:op_asgn_and,
+                               [:ivar, :@fetcher],
+                               [:iasgn,
+                                :@fetcher,
+                                [:fcall,
+                                 :new,
+                                 [:array,
+                                  [:call,
+                                   [:call, [:const, :Gem], :configuration],
+                                   :[],
+                                   [:array, [:lit, :http_proxy]]]]]]],
+            "ParseTree"    => s(:op_asgn_and,
+                                s(:ivar, :@fetcher),
+                                s(:iasgn,
+                                  :@fetcher,
+                                  s(:call, nil,
+                                    :new,
+                                    s(:arglist,
+                                      s(:call,
+                                        s(:call, s(:const, :Gem),
+                                          :configuration,
+                                          s(:arglist)),
+                                        :[],
+                                        s(:arglist, s(:lit, :http_proxy))))))))
+
+  add_tests("op_asgn_or",
+            "Ruby"         => "a = 0\na ||= 1\n",
+            "RawParseTree" => [:block,
+                               [:lasgn, :a, [:lit, 0]],
+                               [:op_asgn_or,
+                                [:lvar, :a], [:lasgn, :a, [:lit, 1]]]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn, :a, s(:lit, 0)),
+                                s(:op_asgn_or,
+                                  s(:lvar, :a), s(:lasgn, :a, s(:lit, 1)))))
+
+  add_tests("op_asgn_or_block",
+            "Ruby"         => "a ||= begin\n        b\n      rescue\n        c\n      end",
+            "RawParseTree" => [:op_asgn_or,
+                               [:lvar, :a],
+                               [:lasgn, :a,
+                                [:rescue,
+                                 [:vcall, :b],
+                                 [:resbody, nil, [:vcall, :c]]]]],
+            "ParseTree"    => s(:op_asgn_or,
+                                s(:lvar, :a),
+                                s(:lasgn, :a,
+                                  s(:rescue,
+                                    s(:call, nil, :b, s(:arglist)),
+                                    s(:resbody, s(:array),
+                                      s(:call, nil, :c, s(:arglist)))))),
+            "Ruby2Ruby"    => "a ||= b rescue c")
+
+  add_tests("op_asgn_or_ivar",
+            "Ruby"         => "@v ||= {  }",
+            "RawParseTree" => [:op_asgn_or,
+                               [:ivar, :@v],
+                               [:iasgn, :@v, [:hash]]],
+            "ParseTree"    => s(:op_asgn_or,
+                                s(:ivar, :@v),
+                                s(:iasgn, :@v, s(:hash))))
+
+  add_tests("op_asgn_or_ivar2",
+            "Ruby"         => "@fetcher ||= new(Gem.configuration[:http_proxy])",
+            "RawParseTree" => [:op_asgn_or,
+                               [:ivar, :@fetcher],
+                               [:iasgn,
+                                :@fetcher,
+                                [:fcall,
+                                 :new,
+                                 [:array,
+                                  [:call,
+                                   [:call, [:const, :Gem], :configuration],
+                                   :[],
+                                   [:array, [:lit, :http_proxy]]]]]]],
+            "ParseTree"    => s(:op_asgn_or,
+                                s(:ivar, :@fetcher),
+                                s(:iasgn,
+                                  :@fetcher,
+                                  s(:call, nil, :new,
+                                    s(:arglist,
+                                      s(:call,
+                                        s(:call, s(:const, :Gem),
+                                          :configuration,
+                                          s(:arglist)),
+                                        :[],
+                                        s(:arglist, s(:lit, :http_proxy))))))))
+
+  add_tests("or",
+            "Ruby"         => "(a or b)",
+            "RawParseTree" => [:or, [:vcall, :a], [:vcall, :b]],
+            "ParseTree"    => s(:or,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:call, nil, :b, s(:arglist))))
+
+  add_tests("or_big",
+            "Ruby"         => "((a or b) or (c and d))",
+            "RawParseTree" => [:or,
+                               [:or,  [:vcall, :a], [:vcall, :b]],
+                               [:and, [:vcall, :c], [:vcall, :d]]],
+            "ParseTree"    => s(:or,
+                                s(:or,
+                                  s(:call, nil, :a, s(:arglist)),
+                                  s(:call, nil, :b, s(:arglist))),
+                                s(:and,
+                                  s(:call, nil, :c, s(:arglist)),
+                                  s(:call, nil, :d, s(:arglist)))))
+
+  add_tests("or_big2",
+            "Ruby"         => "((a || b) || (c && d))",
+            "RawParseTree" => [:or,
+                               [:or,  [:vcall, :a], [:vcall, :b]],
+                               [:and, [:vcall, :c], [:vcall, :d]]],
+            "ParseTree"    => s(:or,
+                                s(:or,
+                                  s(:call, nil, :a, s(:arglist)),
+                                  s(:call, nil, :b, s(:arglist))),
+                                s(:and,
+                                  s(:call, nil, :c, s(:arglist)),
+                                  s(:call, nil, :d, s(:arglist)))),
+            "Ruby2Ruby"    => "((a or b) or (c and d))")
+
+  add_tests("parse_floats_as_args",
+            "Ruby"         => "def x(a=0.0,b=0.0)\n  a+b\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :a, :b,
+                                  [:block,
+                                   [:lasgn, :a, [:lit, 0.0]],
+                                   [:lasgn, :b, [:lit, 0.0]]]],
+                                 [:call, [:lvar, :a], :+,
+                                  [:array, [:lvar, :b]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :a, :b,
+                                  s(:block,
+                                    s(:lasgn, :a, s(:lit, 0.0)),
+                                    s(:lasgn, :b, s(:lit, 0.0)))),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, s(:lvar, :a), :+,
+                                      s(:arglist, s(:lvar, :b)))))),
+            "Ruby2Ruby"    => "def x(a = 0.0, b = 0.0)\n  (a + b)\nend")
+
+  add_tests("postexe",
+            "Ruby"         => "END { 1 }",
+            "RawParseTree" => [:iter, [:postexe], nil, [:lit, 1]],
+            "ParseTree"    => s(:iter, s(:postexe), nil, s(:lit, 1)))
+
+  add_tests("proc_args_0",
+            "Ruby"         => "proc { || (x + 1) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :proc],
+                               0,
+                               [:call, [:vcall, :x], :+, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :proc, s(:arglist)),
+                                0,
+                                s(:call,
+                                  s(:call, nil, :x, s(:arglist)),
+                                  :+,
+                                  s(:arglist, s(:lit, 1)))))
+
+  add_tests("proc_args_1",
+            "Ruby"         => "proc { |x| (x + 1) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :proc],
+                               [:dasgn_curr, :x],
+                               [:call, [:dvar, :x], :+, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :proc, s(:arglist)),
+                                s(:lasgn, :x),
+                                s(:call, s(:lvar, :x), :+,
+                                  s(:arglist, s(:lit, 1)))))
+
+  add_tests("proc_args_2",
+            "Ruby"         => "proc { |x, y| (x + y) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :proc],
+                               [:masgn, [:array,
+                                         [:dasgn_curr, :x],
+                                         [:dasgn_curr, :y]], nil, nil],
+                               [:call, [:dvar, :x], :+, [:array, [:dvar, :y]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :proc, s(:arglist)),
+                                s(:masgn,
+                                  s(:array,
+                                    s(:lasgn, :x),
+                                    s(:lasgn, :y))),
+                                s(:call, s(:lvar, :x), :+,
+                                  s(:arglist, s(:lvar, :y)))))
+
+  add_tests("proc_args_no",
+            "Ruby"         => "proc { (x + 1) }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :proc],
+                               nil,
+                               [:call, [:vcall, :x], :+, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :proc, s(:arglist)),
+                                nil,
+                                s(:call, s(:call, nil, :x, s(:arglist)),
+                                  :+, s(:arglist, s(:lit, 1)))))
+
+  add_tests("redo",
+            "Ruby"         => "loop { redo if false }",
+            "RawParseTree" => [:iter,
+                               [:fcall, :loop], nil,
+                               [:if, [:false], [:redo], nil]],
+            "ParseTree"    => s(:iter,
+                                s(:call, nil, :loop, s(:arglist)),
+                                nil,
+                                s(:if, s(:false), s(:redo), nil)))
+
+  # TODO: need a resbody w/ multiple classes and a splat
+
+  add_tests("rescue",
+            "Ruby"         => "blah rescue nil",
+            "RawParseTree" => [:rescue,
+                               [:vcall, :blah], [:resbody, nil, [:nil]]],
+            "ParseTree"    => s(:rescue,
+                                s(:call, nil, :blah, s(:arglist)),
+                                s(:resbody, s(:array), s(:nil))))
+
+  add_tests("rescue_block_body",
+            "Ruby"         => "begin\n  a\nrescue => e\n  c\n  d\nend",
+            "RawParseTree" => [:rescue,
+                               [:vcall, :a],
+                               [:resbody, nil,
+                                [:block,
+                                 [:lasgn, :e, [:gvar, :$!]],
+                                 [:vcall, :c],
+                                 [:vcall, :d]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:resbody,
+                                  s(:array, s(:lasgn, :e, s(:gvar, :$!))),
+                                  s(:block,
+                                    s(:call, nil, :c, s(:arglist)),
+                                    s(:call, nil, :d, s(:arglist))))))
+
+  add_tests("rescue_block_body_3",
+            "Ruby"         => "begin\n  a\nrescue A\n  b\nrescue B\n  c\nrescue C\n  d\nend",
+            "RawParseTree" => [:rescue,
+                               [:vcall, :a],
+                               [:resbody, [:array, [:const, :A]],
+                                [:vcall, :b],
+                                [:resbody, [:array, [:const, :B]],
+                                 [:vcall, :c],
+                                 [:resbody, [:array, [:const, :C]],
+                                  [:vcall, :d]]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:resbody, s(:array, s(:const, :A)),
+                                  s(:call, nil, :b, s(:arglist))),
+                                s(:resbody, s(:array, s(:const, :B)),
+                                  s(:call, nil, :c, s(:arglist))),
+                                s(:resbody, s(:array, s(:const, :C)),
+                                  s(:call, nil, :d, s(:arglist)))))
+
+  add_tests("rescue_block_body_ivar",
+            "Ruby"         => "begin\n  a\nrescue => @e\n  c\n  d\nend",
+            "RawParseTree" => [:rescue,
+                               [:vcall, :a],
+                               [:resbody, nil,
+                                [:block,
+                                 [:iasgn, :@e, [:gvar, :$!]],
+                                 [:vcall, :c],
+                                 [:vcall, :d]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:resbody,
+                                  s(:array, s(:iasgn, :@e, s(:gvar, :$!))),
+                                  s(:block,
+                                    s(:call, nil, :c, s(:arglist)),
+                                    s(:call, nil, :d, s(:arglist))))))
+
+  add_tests("rescue_block_nada",
+            "Ruby"         => "begin\n  blah\nrescue\n  # do nothing\nend",
+            "RawParseTree" => [:rescue, [:vcall, :blah], [:resbody, nil]],
+            "ParseTree"    => s(:rescue,
+                                s(:call, nil, :blah, s(:arglist)),
+                                s(:resbody, s(:array), nil)))
+
+  add_tests("rescue_exceptions",
+            "Ruby"         => "begin\n  blah\nrescue RuntimeError => r\n  # do nothing\nend",
+            "RawParseTree" => [:rescue,
+                               [:vcall, :blah],
+                               [:resbody,
+                                [:array, [:const, :RuntimeError]],
+                                [:lasgn, :r, [:gvar, :$!]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:call, nil, :blah, s(:arglist)),
+                                s(:resbody,
+                                  s(:array,
+                                    s(:const, :RuntimeError),
+                                    s(:lasgn, :r, s(:gvar, :$!))),
+                                  nil)))
+
+
+  add_tests("rescue_iasgn_var_empty",
+            "Ruby"         => "begin\n  1\nrescue => @e\n  # do nothing\nend",
+            "RawParseTree" => [:rescue,
+                               [:lit, 1],
+                               [:resbody, nil, [:iasgn, :@e, [:gvar, :$!]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:lit, 1),
+                                s(:resbody,
+                                  s(:array, s(:iasgn, :@e, s(:gvar, :$!))),
+                                  nil)))
+
+  add_tests("rescue_lasgn",
+            "Ruby"         => "begin\n  1\nrescue\n  var = 2\nend",
+            "RawParseTree" => [:rescue,
+                               [:lit, 1],
+                               [:resbody, nil, [:lasgn, :var, [:lit, 2]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:lit, 1),
+                                s(:resbody,
+                                  s(:array),
+                                  s(:lasgn, :var, s(:lit, 2)))),
+            "Ruby2Ruby"    => "1 rescue var = 2")
+
+  add_tests("rescue_lasgn_var",
+            "Ruby"         => "begin\n  1\nrescue => e\n  var = 2\nend",
+            "RawParseTree" => [:rescue,
+                               [:lit, 1],
+                               [:resbody, nil,
+                                [:block,
+                                 [:lasgn, :e, [:gvar, :$!]],
+                                 [:lasgn, :var, [:lit, 2]]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:lit, 1),
+                                s(:resbody,
+                                  s(:array, s(:lasgn, :e, s(:gvar, :$!))),
+                                  s(:lasgn, :var, s(:lit, 2)))))
+
+  add_tests("rescue_lasgn_var_empty",
+            "Ruby"         => "begin\n  1\nrescue => e\n  # do nothing\nend",
+            "RawParseTree" => [:rescue,
+                               [:lit, 1],
+                               [:resbody, nil, [:lasgn, :e, [:gvar, :$!]]]],
+            "ParseTree"    => s(:rescue,
+                                s(:lit, 1),
+                                s(:resbody,
+                                  s(:array, s(:lasgn, :e, s(:gvar, :$!))),
+                                  nil)))
+
+  add_tests("retry",
+            "Ruby"         => "retry",
+            "RawParseTree" => [:retry],
+            "ParseTree"    => s(:retry))
+
+  add_tests("return_0",
+            "Ruby"         => "return",
+            "RawParseTree" => [:return],
+            "ParseTree"    => s(:return))
+
+  add_tests("return_1",
+            "Ruby"         => "return 1",
+            "RawParseTree" => [:return, [:lit, 1]],
+            "ParseTree"    => s(:return, s(:lit, 1)))
+
+  add_tests("return_1_splatted",
+            "Ruby"         => "return *1",
+            "RawParseTree" => [:return, [:svalue, [:splat, [:lit, 1]]]],
+            "ParseTree"    => s(:return, s(:svalue, s(:splat, s(:lit, 1)))))
+
+  add_tests("return_n",
+            "Ruby"         => "return 1, 2, 3",
+            "RawParseTree" => [:return, [:array,
+                                         [:lit, 1], [:lit, 2], [:lit, 3]]],
+            "ParseTree"    => s(:return, s(:array,
+                                           s(:lit, 1), s(:lit, 2), s(:lit, 3))),
+            "Ruby2Ruby"    => "return [1, 2, 3]")
+
+  add_tests("sclass",
+            "Ruby"         => "class << self\n  42\nend",
+            "RawParseTree" => [:sclass, [:self], [:scope, [:lit, 42]]],
+            "ParseTree"    => s(:sclass, s(:self), s(:scope, s(:lit, 42))))
+
+  add_tests("sclass_trailing_class",
+            "Ruby"         => "class A\n  class << self\n    a\n  end\n  class B\n  end\nend",
+            "RawParseTree" => [:class, :A, nil,
+                               [:scope,
+                                [:block,
+                                 [:sclass, [:self], [:scope, [:vcall, :a]]],
+                                 [:class, :B, nil, [:scope]]]]],
+            "ParseTree"    => s(:class, :A, nil,
+                                s(:scope,
+                                  s(:block,
+                                    s(:sclass, s(:self),
+                                      s(:scope,
+                                        s(:call, nil, :a, s(:arglist)))),
+                                    s(:class, :B, nil, s(:scope))))))
+
+  add_tests("splat",
+            "Ruby"         => "def x(*b)\n  a(*b)\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args, :"*b"],
+                                 [:fcall, :a, [:splat, [:lvar, :b]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args, :"*b"),
+                                s(:scope,
+                                  s(:block,
+                                    s(:call, nil, :a,
+                                      s(:arglist, s(:splat, s(:lvar, :b))))))))
+
+  add_tests("splat_array",
+            "Ruby"         => "[*[1]]",
+            "RawParseTree" => [:splat, [:array, [:lit, 1]]],
+            "ParseTree"    => s(:array, s(:splat, s(:array, s(:lit, 1)))))
+
+  add_tests("splat_break",
+            "Ruby"         => "break *[1]",
+            "RawParseTree" => [:break, [:svalue, [:splat, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:break, s(:svalue, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_break_array",
+            "Ruby"         => "break [*[1]]",
+            "RawParseTree" => [:break, [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:break, s(:array, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_fcall",
+            "Ruby"         => "meth(*[1])",
+            "RawParseTree" => [:fcall, :meth,
+                               [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:call, nil, :meth,
+                             s(:arglist, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_fcall_array",
+            "Ruby"         => "meth([*[1]])",
+            "RawParseTree" => [:fcall, :meth,
+                               [:array, [:splat, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:call, nil, :meth,
+                             s(:arglist,
+                               s(:array, s(:splat, s(:array, s(:lit, 1)))))))
+
+  add_tests("splat_lasgn",
+            "Ruby"         => "x = *[1]",
+            "RawParseTree" => [:lasgn, :x, [:svalue, [:splat, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:lasgn, :x, s(:svalue, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_lasgn_array",
+            "Ruby"         => "x = [*[1]]",
+            "RawParseTree" => [:lasgn, :x, [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:lasgn, :x, s(:array, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_lit_1",
+            "Ruby"         => "[*1]",
+            "RawParseTree" => [:splat, [:lit, 1]], # UGH - damn MRI
+            "ParseTree"    => s(:array, s(:splat, s(:lit, 1))))
+
+  add_tests("splat_lit_n",
+            "Ruby"         => "[1, *2]",
+            "RawParseTree" => [:argscat, [:array, [:lit, 1]], [:lit, 2]],
+            "ParseTree"    => s(:array, s(:lit, 1), s(:splat, s(:lit, 2))))
+
+  add_tests("splat_next",
+            "Ruby"         => "next *[1]",
+            "RawParseTree" => [:next, [:svalue, [:splat, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:next, s(:svalue, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_next_array",
+            "Ruby"         => "next [*[1]]",
+            "RawParseTree" => [:next, [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:next, s(:array, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_return",
+            "Ruby"         => "return *[1]",
+            "RawParseTree" => [:return, [:svalue, [:splat, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:return, s(:svalue, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_return_array",
+            "Ruby"         => "return [*[1]]",
+            "RawParseTree" => [:return, [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:return, s(:array, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_super",
+            "Ruby"         => "super(*[1])",
+            "RawParseTree" => [:super, [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:super, s(:splat, s(:array, s(:lit, 1)))))
+
+  add_tests("splat_super_array",
+            "Ruby"         => "super([*[1]])",
+            "RawParseTree" => [:super, [:array, [:splat, [:array, [:lit, 1]]]]],
+            "ParseTree"    => s(:super, s(:array, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("splat_yield",
+            "Ruby"         => "yield(*[1])",
+            "RawParseTree" => [:yield, [:splat, [:array, [:lit, 1]]]],
+            "ParseTree"    => s(:yield, s(:splat, s(:array, s(:lit, 1)))))
+
+  add_tests("splat_yield_array",
+            "Ruby"         => "yield([*[1]])",
+            "RawParseTree" => [:yield, [:splat, [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:yield, s(:array, s(:splat, s(:array, s(:lit, 1))))))
+
+  add_tests("str",
+            "Ruby"         => '"x"',
+            "RawParseTree" => [:str, "x"],
+            "ParseTree"    => s(:str, "x"))
+
+  add_tests("str_concat_newline", # FIX? make prettier? possible?
+            "Ruby"         => '"before" \\
+  " after"',
+            "RawParseTree" => [:str, "before after"],
+            "ParseTree"    => s(:str, "before after"),
+            "Ruby2Ruby"    => '"before after"')
+
+  add_tests("str_concat_space",
+            "Ruby"         => '"before" " after"',
+            "RawParseTree" => [:str, "before after"],
+            "ParseTree"    => s(:str, "before after"),
+            "Ruby2Ruby"    => '"before after"')
+
+  add_tests("str_heredoc",
+            "Ruby"         => "<<'EOM'\n  blah\nblah\nEOM",
+            "RawParseTree" => [:str, "  blah\nblah\n"],
+            "ParseTree"    => s(:str, "  blah\nblah\n"),
+            "Ruby2Ruby"    => "\"  blah\\nblah\\n\"")
+
+  add_tests("str_heredoc_call",
+            "Ruby"         => "<<'EOM'.strip\n  blah\nblah\nEOM",
+            "RawParseTree" => [:call, [:str, "  blah\nblah\n"], :strip],
+            "ParseTree"    => s(:call, s(:str, "  blah\nblah\n"),
+                                :strip, s(:arglist)),
+            "Ruby2Ruby"    => "\"  blah\\nblah\\n\".strip")
+
+  add_tests("str_heredoc_double",
+            "Ruby"         => "a += <<-H1 + b + <<-H2\n  first\nH1\n  second\nH2",
+            "RawParseTree" => [:lasgn, :a,
+                               [:call,
+                                [:lvar, :a],
+                                :+,
+                                [:array,
+                                 [:call,
+                                  [:call, [:str, "  first\n"], :+,
+                                   [:array, [:vcall, :b]]],
+                                  :+,
+                                  [:array, [:str, "  second\n"]]]]]],
+            "ParseTree"    => s(:lasgn, :a,
+                                s(:call,
+                                  s(:lvar, :a),
+                                  :+,
+                                  s(:arglist,
+                                    s(:call,
+                                      s(:call, s(:str, "  first\n"), :+,
+                                        s(:arglist,
+                                          s(:call, nil, :b, s(:arglist)))),
+                                      :+,
+                                      s(:arglist, s(:str, "  second\n")))))),
+            "Ruby2Ruby"    => "a = (a + ((\"  first\\n\" + b) + \"  second\\n\"))")
+
+  add_tests("str_heredoc_empty", # yes... tarded
+            "Ruby"         => "<<'EOM'\nEOM",
+            "RawParseTree" => [:str, ""],
+            "ParseTree"    => s(:str, ""),
+            "Ruby2Ruby"    => '""')
+
+  add_tests("str_heredoc_indent",
+            "Ruby"         => "<<-EOM\n  blah\nblah\n\n  EOM",
+            "RawParseTree" => [:str, "  blah\nblah\n\n"],
+            "ParseTree"    => s(:str, "  blah\nblah\n\n"),
+            "Ruby2Ruby"    => "\"  blah\\nblah\\n\\n\"")
+
+  add_tests("str_interp_file",
+            "Ruby"         => '"file = #{__FILE__}\n"',
+            "RawParseTree" => [:str, "file = (string)\n"],
+            "ParseTree"    => s(:str, "file = (string)\n"),
+            "Ruby2Ruby"    => '"file = (string)\\n"')
+
+  add_tests("structure_extra_block_for_dvar_scoping",
+            "Ruby"         => "a.b do |c, d|\n  unless e.f(c) then\n    g = false\n    d.h { |x, i| g = true }\n  end\nend",
+            "RawParseTree" => [:iter,
+                               [:call, [:vcall, :a], :b],
+                               [:masgn, [:array,
+                                         [:dasgn_curr, :c],
+                                         [:dasgn_curr, :d]], nil, nil],
+                               [:if,
+                                [:call, [:vcall, :e], :f,
+                                 [:array, [:dvar, :c]]],
+                                nil,
+                                [:block,
+                                 [:dasgn_curr, :g, [:false]],
+                                 [:iter,
+                                  [:call, [:dvar, :d], :h],
+                                  [:masgn, [:array,
+                                            [:dasgn_curr, :x],
+                                            [:dasgn_curr, :i]], nil, nil],
+                                  [:dasgn, :g, [:true]]]]]],
+            "ParseTree"    => s(:iter,
+                                s(:call,
+                                  s(:call, nil, :a, s(:arglist)),
+                                  :b, s(:arglist)),
+                                s(:masgn, s(:array,
+                                            s(:lasgn, :c),
+                                            s(:lasgn, :d))),
+                                s(:if,
+                                  s(:call, s(:call, nil, :e, s(:arglist)), :f,
+                                    s(:arglist, s(:lvar, :c))),
+                                  nil,
+                                  s(:block,
+                                    s(:lasgn, :g, s(:false)),
+                                    s(:iter,
+                                      s(:call, s(:lvar, :d), :h, s(:arglist)),
+                                      s(:masgn, s(:array,
+                                                  s(:lasgn, :x),
+                                                  s(:lasgn, :i))),
+                                      s(:lasgn, :g, s(:true)))))))
+
+  add_tests("structure_remove_begin_1",
+            "Ruby"         => "a << begin\n       b\n     rescue\n       c\n     end",
+            "RawParseTree" => [:call, [:vcall, :a], :<<,
+                               [:array, [:rescue, [:vcall, :b],
+                                         [:resbody, nil, [:vcall, :c]]]]],
+            "ParseTree"    => s(:call, s(:call, nil, :a, s(:arglist)), :<<,
+                                s(:arglist,
+                                  s(:rescue,
+                                    s(:call, nil, :b, s(:arglist)),
+                                    s(:resbody, s(:array),
+                                      s(:call, nil, :c, s(:arglist)))))),
+            "Ruby2Ruby"    => "(a << b rescue c)")
+
+  add_tests("structure_remove_begin_2",
+            "Ruby"         => "a = if c\n      begin\n        b\n      rescue\n        nil\n      end\n    end\na",
+            "RawParseTree" => [:block,
+                               [:lasgn,
+                                :a,
+                                [:if, [:vcall, :c],
+                                 [:rescue,
+                                  [:vcall, :b],
+                                  [:resbody, nil, [:nil]]],
+                                 nil]],
+                               [:lvar, :a]],
+            "ParseTree"    => s(:block,
+                                s(:lasgn,
+                                  :a,
+                                  s(:if, s(:call, nil, :c, s(:arglist)),
+                                    s(:rescue, s(:call, nil, :b, s(:arglist)),
+                                      s(:resbody,
+                                        s(:array), s(:nil))),
+                                    nil)),
+                                s(:lvar, :a)),
+            "Ruby2Ruby"    => "a = b rescue nil if c\na\n") # OMG that's awesome
+
+  add_tests("structure_unused_literal_wwtt",
+            "Ruby"         => "\"prevent the above from infecting rdoc\"\n\nmodule Graffle\nend",
+            "RawParseTree" => [:module, :Graffle, [:scope]],
+            "ParseTree"    => s(:module, :Graffle, s(:scope)),
+            "Ruby2Ruby"    => "module Graffle\nend")
+
+  add_tests("super_0",
+            "Ruby"         => "def x\n  super()\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block, [:args], [:super]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args),
+                                s(:scope, s(:block, s(:super)))))
+
+  add_tests("super_1",
+            "Ruby"         => "def x\n  super(4)\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:super, [:array, [:lit, 4]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:super, s(:lit, 4))))))
+
+  add_tests("super_1_array",
+            "Ruby"         => "def x\n  super([24, 42])\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:super,
+                                  [:array,
+                                   [:array, [:lit, 24], [:lit, 42]]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:super, s(:array,
+                                                s(:lit, 24),
+                                                s(:lit, 42)))))))
+
+  add_tests("super_block_pass",
+            "Ruby"         => "super(a, &b)",
+            "RawParseTree" => [:block_pass,
+                               [:vcall, :b], [:super, [:array, [:vcall, :a]]]],
+            "ParseTree"    => s(:super,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:block_pass,
+                                  s(:call, nil, :b, s(:arglist)))))
+
+  add_tests("super_block_splat",
+            "Ruby"         => "super(a, *b)",
+            "RawParseTree" => [:super,
+                               [:argscat,
+                                [:array, [:vcall, :a]],
+                                [:vcall, :b]]],
+            "ParseTree"    => s(:super,
+                                s(:call, nil, :a, s(:arglist)),
+                                s(:splat, s(:call, nil, :b, s(:arglist)))))
+
+  add_tests("super_n",
+            "Ruby"         => "def x\n  super(24, 42)\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope,
+                                [:block,
+                                 [:args],
+                                 [:super, [:array, [:lit, 24], [:lit, 42]]]]]],
+            "ParseTree"    => s(:defn, :x,
+                                s(:args),
+                                s(:scope,
+                                  s(:block,
+                                    s(:super, s(:lit, 24), s(:lit, 42))))))
+
+  add_tests("svalue",
+            "Ruby"         => "a = *b",
+            "RawParseTree" => [:lasgn, :a, [:svalue, [:splat, [:vcall, :b]]]],
+            "ParseTree"    => s(:lasgn, :a,
+                                s(:svalue,
+                                  s(:splat, s(:call, nil, :b, s(:arglist))))))
+
+  add_tests("to_ary",
+            "Ruby"         => "a, b = c",
+            "RawParseTree" => [:masgn,
+                               [:array, [:lasgn, :a], [:lasgn, :b]], nil,
+                               [:to_ary, [:vcall, :c]]],
+            "ParseTree"    => s(:masgn,
+                                s(:array, s(:lasgn, :a), s(:lasgn, :b)),
+                                s(:to_ary, s(:call, nil, :c, s(:arglist)))))
+
+  add_tests("true",
+            "Ruby"         => "true",
+            "RawParseTree" => [:true],
+            "ParseTree"    => s(:true))
+
+  add_tests("undef",
+            "Ruby"         => "undef :x",
+            "RawParseTree" => [:undef, [:lit, :x]],
+            "ParseTree"    => s(:undef, s(:lit, :x)))
+
+  add_tests("undef_2",
+            "Ruby"         => "undef :x, :y",
+            "RawParseTree" => [:block,
+                               [:undef, [:lit, :x]],
+                               [:undef, [:lit, :y]]],
+            "ParseTree"    => s(:block,
+                                s(:undef, s(:lit, :x)),
+                                s(:undef, s(:lit, :y))),
+            "Ruby2Ruby"    => "undef :x\nundef :y\n")
+
+  add_tests("undef_3",
+            "Ruby"         => "undef :x, :y, :z",
+            "RawParseTree" => [:block,
+                               [:undef, [:lit, :x]],
+                               [:undef, [:lit, :y]],
+                               [:undef, [:lit, :z]]],
+            "ParseTree"    => s(:block,
+                                s(:undef, s(:lit, :x)),
+                                s(:undef, s(:lit, :y)),
+                                s(:undef, s(:lit, :z))),
+            "Ruby2Ruby"    => "undef :x\nundef :y\nundef :z\n")
+
+  add_tests("undef_block_1",
+            "Ruby"         => "f1\nundef :x\n", # TODO: don't like the extra return
+            "RawParseTree" => [:block,
+                               [:vcall, :f1],
+                               [:undef, [:lit, :x]]],
+            "ParseTree"    => s(:block,
+                                s(:call, nil, :f1, s(:arglist)),
+                                s(:undef, s(:lit, :x))))
+
+  add_tests("undef_block_2",
+            "Ruby"         => "f1\nundef :x, :y",
+            "RawParseTree" => [:block,
+                               [:vcall, :f1],
+                               [:block,
+                                [:undef, [:lit, :x]],
+                                [:undef, [:lit, :y]],
+                               ]],
+            "ParseTree"    => s(:block,
+                                s(:call, nil, :f1, s(:arglist)),
+                                s(:block,
+                                  s(:undef, s(:lit, :x)),
+                                  s(:undef, s(:lit, :y)))),
+            "Ruby2Ruby"    => "f1\n(undef :x\nundef :y)\n")
+
+  add_tests("undef_block_3",
+            "Ruby"         => "f1\nundef :x, :y, :z",
+            "RawParseTree" => [:block,
+                               [:vcall, :f1],
+                               [:block,
+                                [:undef, [:lit, :x]],
+                                [:undef, [:lit, :y]],
+                                [:undef, [:lit, :z]],
+                               ]],
+            "ParseTree"    => s(:block,
+                                s(:call, nil, :f1, s(:arglist)),
+                                s(:block,
+                                  s(:undef, s(:lit, :x)),
+                                  s(:undef, s(:lit, :y)),
+                                  s(:undef, s(:lit, :z)))),
+            "Ruby2Ruby"    => "f1\n(undef :x\nundef :y\nundef :z)\n")
+
+  add_tests("undef_block_3_post",
+            "Ruby"         => "undef :x, :y, :z\nf2",
+            "RawParseTree" => [:block,
+                               [:undef, [:lit, :x]],
+                               [:undef, [:lit, :y]],
+                               [:undef, [:lit, :z]],
+                               [:vcall, :f2]],
+            "ParseTree"    => s(:block,
+                                s(:undef, s(:lit, :x)),
+                                s(:undef, s(:lit, :y)),
+                                s(:undef, s(:lit, :z)),
+                                s(:call, nil, :f2, s(:arglist))),
+            "Ruby2Ruby"    => "undef :x\nundef :y\nundef :z\nf2\n")
+
+  add_tests("undef_block_wtf",
+            "Ruby"         => "f1\nundef :x, :y, :z\nf2",
+            "RawParseTree" => [:block,
+                               [:vcall, :f1],
+                               [:block,
+                                [:undef, [:lit, :x]],
+                                [:undef, [:lit, :y]],
+                                [:undef, [:lit, :z]]],
+                               [:vcall, :f2]],
+            "ParseTree"    => s(:block,
+                                s(:call, nil, :f1, s(:arglist)),
+                                s(:block,
+                                  s(:undef, s(:lit, :x)),
+                                  s(:undef, s(:lit, :y)),
+                                  s(:undef, s(:lit, :z))),
+                                s(:call, nil, :f2, s(:arglist))),
+            "Ruby2Ruby"    => "f1\n(undef :x\nundef :y\nundef :z)\nf2\n")
+
+
+  add_tests("unless_post",
+            "Ruby"         => "a unless b",
+            "RawParseTree" => [:if, [:vcall, :b], nil, [:vcall, :a]],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)), nil,
+                                s(:call, nil, :a, s(:arglist))))
+
+  add_tests("unless_post_not",
+            "Ruby"         => "a unless not b",
+            "RawParseTree" => [:if, [:vcall, :b], [:vcall, :a], nil],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)),
+                                s(:call, nil, :a, s(:arglist)), nil),
+            "Ruby2Ruby"    => "a if b")
+
+  add_tests("unless_pre",
+            "Ruby"         => "unless b then a end",
+            "RawParseTree" => [:if, [:vcall, :b], nil, [:vcall, :a]],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)), nil,
+                                s(:call, nil, :a, s(:arglist))),
+            "Ruby2Ruby"    => "a unless b")
+
+  add_tests("unless_pre_not",
+            "Ruby"         => "unless not b then a end",
+            "RawParseTree" => [:if, [:vcall, :b], [:vcall, :a], nil],
+            "ParseTree"    => s(:if, s(:call, nil, :b, s(:arglist)),
+                                s(:call, nil, :a, s(:arglist)), nil),
+            "Ruby2Ruby"    => "a if b")
+
+  add_tests("until_post",
+            "Ruby"         => "begin\n  (1 + 1)\nend until false",
+            "RawParseTree" => [:until, [:false],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], false],
+            "ParseTree"    => s(:until, s(:false),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), false))
+
+  add_tests("until_post_not",
+            "Ruby"         => "begin\n  (1 + 1)\nend until not true",
+            "RawParseTree" => [:while, [:true],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], false],
+            "ParseTree"    => s(:while, s(:true),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), false),
+            "Ruby2Ruby"    => "begin\n  (1 + 1)\nend while true")
+
+  add_tests("until_pre",
+            "Ruby"         => "until false do\n  (1 + 1)\nend",
+            "RawParseTree" => [:until, [:false],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:until, s(:false),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true))
+
+  add_tests("until_pre_mod",
+            "Ruby"         => "(1 + 1) until false",
+            "RawParseTree" => [:until, [:false],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:until, s(:false),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true),
+            "Ruby2Ruby"    => "until false do\n  (1 + 1)\nend")
+
+  add_tests("until_pre_not",
+            "Ruby"         => "until not true do\n  (1 + 1)\nend",
+            "RawParseTree" => [:while, [:true],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:while, s(:true),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true),
+            "Ruby2Ruby"    => "while true do\n  (1 + 1)\nend")
+
+  add_tests("until_pre_not_mod",
+            "Ruby"         => "(1 + 1) until not true",
+            "RawParseTree" => [:while, [:true],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:while, s(:true),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true),
+            "Ruby2Ruby"    => "while true do\n  (1 + 1)\nend")
+
+  add_tests("valias",
+            "Ruby"         => "alias $y $x",
+            "RawParseTree" => [:valias, :$y, :$x],
+            "ParseTree"    => s(:valias, :$y, :$x))
+
+  add_tests("vcall",
+            "Ruby"         => "method",
+            "RawParseTree" => [:vcall, :method],
+            "ParseTree"    => s(:call, nil, :method, s(:arglist)))
+
+  add_tests("while_post",
+            "Ruby"         => "begin\n  (1 + 1)\nend while false",
+            "RawParseTree" => [:while, [:false],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], false],
+            "ParseTree"    => s(:while, s(:false),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), false))
+
+  add_tests("while_post2",
+            "Ruby"         => "begin\n  (1 + 2)\n  (3 + 4)\nend while false",
+            "RawParseTree" => [:while, [:false],
+                               [:block,
+                                [:call, [:lit, 1], :+, [:array, [:lit, 2]]],
+                                [:call, [:lit, 3], :+, [:array, [:lit, 4]]]],
+                               false],
+            "ParseTree"    => s(:while, s(:false),
+                                s(:block,
+                                  s(:call, s(:lit, 1), :+,
+                                    s(:arglist, s(:lit, 2))),
+                                  s(:call, s(:lit, 3), :+,
+                                    s(:arglist, s(:lit, 4)))),
+                                false))
+
+  add_tests("while_post_not",
+            "Ruby"         => "begin\n  (1 + 1)\nend while not true",
+            "RawParseTree" => [:until, [:true],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], false],
+            "ParseTree"    => s(:until, s(:true),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), false),
+            "Ruby2Ruby"    => "begin\n  (1 + 1)\nend until true")
+
+  add_tests("while_pre",
+            "Ruby"         => "while false do\n  (1 + 1)\nend",
+            "RawParseTree" => [:while, [:false],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:while, s(:false),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true))
+
+  add_tests("while_pre_mod",
+            "Ruby"         => "(1 + 1) while false",
+            "RawParseTree" => [:while, [:false],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:while, s(:false),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true),
+            "Ruby2Ruby"    => "while false do\n  (1 + 1)\nend") # FIX can be one liner
+
+  add_tests("while_pre_nil",
+            "Ruby"         => "while false do\nend",
+            "RawParseTree" => [:while, [:false], nil, true],
+            "ParseTree"    => s(:while, s(:false), nil, true))
+
+  add_tests("while_pre_not",
+            "Ruby"         => "while not true do\n  (1 + 1)\nend",
+            "RawParseTree" => [:until, [:true],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:until, s(:true),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true),
+            "Ruby2Ruby"    => "until true do\n  (1 + 1)\nend")
+
+  add_tests("while_pre_not_mod",
+            "Ruby"         => "(1 + 1) while not true",
+            "RawParseTree" => [:until, [:true],
+                               [:call, [:lit, 1], :+,
+                                [:array, [:lit, 1]]], true],
+            "ParseTree"    => s(:until, s(:true),
+                                s(:call, s(:lit, 1), :+,
+                                  s(:arglist, s(:lit, 1))), true),
+            "Ruby2Ruby"    => "until true do\n  (1 + 1)\nend") # FIX
+
+  add_tests("xstr",
+            "Ruby"         => "`touch 5`",
+            "RawParseTree" => [:xstr, 'touch 5'],
+            "ParseTree"    => s(:xstr, 'touch 5'))
+
+  add_tests("yield_0",
+            "Ruby"         => "yield",
+            "RawParseTree" => [:yield],
+            "ParseTree"    => s(:yield))
+
+  add_tests("yield_1",
+            "Ruby"         => "yield(42)",
+            "RawParseTree" => [:yield, [:lit, 42]],
+            "ParseTree"    => s(:yield, s(:lit, 42)))
+
+  add_tests("yield_array_0",
+            "Ruby"         => "yield([])",
+            "RawParseTree" => [:yield, [:zarray], true],
+            "ParseTree"    => s(:yield, s(:array)))
+
+  add_tests("yield_array_1",
+            "Ruby"         => "yield([42])",
+            "RawParseTree" => [:yield, [:array, [:lit, 42]], true],
+            "ParseTree"    => s(:yield, s(:array, s(:lit, 42))))
+
+  add_tests("yield_array_n",
+            "Ruby"         => "yield([42, 24])",
+            "RawParseTree" => [:yield, [:array, [:lit, 42], [:lit, 24]], true],
+            "ParseTree"    => s(:yield, s(:array, s(:lit, 42), s(:lit, 24))))
+
+  add_tests("yield_n",
+            "Ruby"         => "yield(42, 24)",
+            "RawParseTree" => [:yield, [:array, [:lit, 42], [:lit, 24]]],
+            "ParseTree"    => s(:yield, s(:lit, 42), s(:lit, 24)))
+
+  add_tests("zarray",
+            "Ruby"         => "a = []",
+            "RawParseTree" => [:lasgn, :a, [:zarray]],
+            "ParseTree"    => s(:lasgn, :a, s(:array)))
+
+  add_tests("zsuper",
+            "Ruby"         => "def x\n  super\nend",
+            "RawParseTree" => [:defn, :x,
+                               [:scope, [:block, [:args], [:zsuper]]]],
+            "ParseTree"    => s(:defn, :x, s(:args),
+                                s(:scope, s(:block, s(:zsuper)))))
+end
diff --git a/rubygem-ruby_parser/ruby_parser-3.1.1.gem b/rubygem-ruby_parser/ruby_parser-3.1.1.gem
new file mode 120000
index 000000000..d485841fd
--- /dev/null
+++ b/rubygem-ruby_parser/ruby_parser-3.1.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/jV/qJ/SHA256E-s141824--dd036aa67f973404a3264364831119c8a67867676ccabb47ff4356908993ac4a.1.gem/SHA256E-s141824--dd036aa67f973404a3264364831119c8a67867676ccabb47ff4356908993ac4a.1.gem
\ No newline at end of file
diff --git a/rubygem-ruby_parser/rubygem-ruby_parser.spec b/rubygem-ruby_parser/rubygem-ruby_parser.spec
new file mode 100644
index 000000000..7f1ae349f
--- /dev/null
+++ b/rubygem-ruby_parser/rubygem-ruby_parser.spec
@@ -0,0 +1,159 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from ruby_parser-2.0.4.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name ruby_parser
+
+
+Summary: A ruby parser written in pure ruby
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 3.1.1
+Release: 6%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/seattlerb/ruby_parser
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# These test cases are carried in the ParseTree gem in test/. Carry them here
+# rather than attempting to install ParseTree-doc in check and introducing a circular
+# dependency
+Source1: pt_testcase.rb
+Requires: %{?scl_prefix}rubygem(sexp_processor)
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildRequires: %{?scl_prefix}rubygem(sexp_processor)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
+racc - which does by default use a C extension). RP's output is
+the same as ParseTree's output: s-expressions using ruby's arrays and
+base types.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+This package contains documentation for %{pkg_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+%build
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install -V \
+  --local \
+  --install-dir $(pwd)/%{gem_dir} \
+  --force --rdoc \
+  %{SOURCE0}
+%{?scl:"}
+
+cp -p %{SOURCE1} $(pwd)/%{gem_instdir}/test/
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}%{_bindir}
+mv %{buildroot}%{gem_dir}/bin/* \
+        %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+# Drop the standalone mode for tests - won't run that way due to missing 
+# rubygems require anyway. One instance in lib as well
+find %{buildroot}%{gem_instdir}/{test,lib} -type f | \
+  xargs -n 1 sed -i  -e '/^#!\/usr\/.*\/ruby.*/d'
+# Ships with extremely tight permissions, bring them inline with other gems
+find %{buildroot}%{gem_instdir} -type f | \
+  xargs chmod 0644
+find %{buildroot}%{gem_instdir}/bin -type f | \
+  xargs chmod 0755
+
+%check
+pushd .%{gem_instdir}
+#%{?scl:scl enable %{scl} "}
+#testrb -Ilib test
+#%{?scl:"}
+popd
+
+%files
+%{_bindir}/ruby_parse
+%{_bindir}/ruby_parse_extract_error
+%doc %{gem_instdir}/History.txt
+%doc %{gem_instdir}/Manifest.txt
+%doc %{gem_instdir}/README.txt
+%dir %{gem_instdir}
+%{gem_instdir}/bin
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/.gemtest
+%{gem_instdir}/.autotest
+%{gem_instdir}/test
+%{gem_docdir}
+
+%changelog
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 3.1.1-5
+- fix files section (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 3.1.1-4
+- disable tests (msuchy@redhat.com)
+- fix paths in SC env (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 3.1.1-3
+- fix paths in SC environment (msuchy@redhat.com)
+
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 3.1.1-2
+- spec2scl -i rubygem-ruby_parser.spec (msuchy@redhat.com)
+- rebase to ruby_parser-3.1.1.gem from Fedora (msuchy@redhat.com)
+
+* Tue Mar 12 2013 Vít Ondruch <vondruch@redhat.com> - 3.1.1-1
+- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0
+- Update to ruby_parser 3.1.1.
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Thu Nov 29 2012 Mo Morsi <mmorsi@redhat.com> - 3.0.1-1
+- Updated to new version
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.4-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Jan 30 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.0.4-7
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.4-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Aug 08 2011 Mo Morsi <mmorsi@redhat.com> - 2.0.4-5
+- replace BR(check) with BR
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Mon Nov 30 2009 Matthew Kent <mkent@magoazul.com> - 2.0.4-3
+- Remove exclude for gauntlet_rubyparser.rb, let user deal with dependencies if
+  they need it.
+
+* Sun Nov 29 2009 Matthew Kent <mkent@magoazul.com> - 2.0.4-2
+- Move pt_testcase.rb to the build stage so it's included in the rpm (#541491).
+- Drop version requirements for sexp_processor as it is a new package
+  (#541491).
+- Exclude gauntlet_rubyparser.rb as it introduces a circular dependency
+  (#541491).
+
+* Mon Nov 16 2009 Matthew Kent <mkent@magoazul.com> - 2.0.4-1
+- Initial package
diff --git a/rubygem-rubyforge/rubyforge-2.0.4.gem b/rubygem-rubyforge/rubyforge-2.0.4.gem
new file mode 120000
index 000000000..6c0755677
--- /dev/null
+++ b/rubygem-rubyforge/rubyforge-2.0.4.gem
@@ -0,0 +1 @@
+../.git/annex/objects/j3/8m/SHA256E-s15360--017207028a37a77e79523944b893f3148b1397cf41394490ff3e0dff2d51aaf1.4.gem/SHA256E-s15360--017207028a37a77e79523944b893f3148b1397cf41394490ff3e0dff2d51aaf1.4.gem
\ No newline at end of file
diff --git a/rubygem-rubyforge/rubygem-rubyforge.spec b/rubygem-rubyforge/rubygem-rubyforge.spec
new file mode 100644
index 000000000..453080d8a
--- /dev/null
+++ b/rubygem-rubyforge/rubygem-rubyforge.spec
@@ -0,0 +1,158 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name rubyforge
+
+# Depency loop here. Kill test when resolving dependency loop
+# is needed
+%global enable_test 0
+
+Summary:       A script which automates a limited set of rubyforge operations
+Name:          %{?scl_prefix}rubygem-%{gem_name}
+Version:       2.0.4
+Release:       4%{?dist}
+Group:         Development/Languages
+License:       MIT
+URL:           http://rubyforge.org/projects/codeforpeople
+Source0:       http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+BuildRoot:     %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires:      %{?scl_prefix}ruby(abi) = 1.9.1
+Requires:      %{?scl_prefix}rubygems
+Requires:      %{?scl_prefix}rubygem(json) >= 1.1.7
+BuildRequires: %{?scl_prefix}rubygems-devel
+%if %{enable_test}
+BuildRequires(check): rubygem(rake)
+BuildRequires(check): rubygem(json)
+# The following line causes dependency loop
+BuildRequires(check): rubygem(hoe)
+%endif
+BuildArch:     noarch
+Provides:      %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+A script which automates a limited set of rubyforge operations.
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+mkdir -p ./%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install \
+	--local \
+	--install-dir ./%{gem_dir} \
+	--force \
+	--rdoc \
+	%{SOURCE0}
+%{?scl:"}
+
+# json_pure -> json
+find . -name Rakefile -or -name \*.gemspec | \
+	xargs sed -i -e 's|json_pure|json|g'
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}/%{gem_dir}/
+
+mkdir -p %{buildroot}/%{_bindir}
+mv %{buildroot}%{gem_dir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{buildroot}%{gem_dir}/bin
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+chmod 0755 %{buildroot}%{gem_instdir}/lib/rubyforge.rb
+chmod 0755 %{buildroot}%{gem_instdir}/bin/rubyforge
+
+%clean
+rm -rf %{buildroot}
+
+%check
+%if ! %{enable_test}
+exit 0
+%endif
+
+pushd .%{gem_dir}
+# Hoe needs rubyforge, so make it sure that system-widely installed
+# Hoe looks for rubyforge just trying to install now first, not
+# system-widely installed rubyforge
+export GEM_PATH=$(pwd)
+popd
+
+pushd .%{gem_instdir}
+rake test
+popd
+
+%files
+%defattr(-, root, root, -)
+%{_bindir}/rubyforge
+%dir %{gem_instdir}
+%{gem_instdir}/lib/
+%{gem_instdir}/bin/
+%{gem_dir}/cache/%{gem_name}-%{version}.gem
+%{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+
+%doc %{gem_dir}/doc/%{gem_name}-%{version}
+%doc %{gem_instdir}/History.txt
+%doc %{gem_instdir}/Manifest.txt
+%doc %{gem_instdir}/README.txt
+%doc %{gem_instdir}/Rakefile
+%doc %{gem_instdir}/test/
+
+%changelog
+* Tue Feb 26 2013 Miroslav Suchý <msuchy@redhat.com> 2.0.4-3
+- new package built with tito
+
+* Mon Jul 02 2012 Lukas Zapletal <lzap+git@redhat.com> 2.0.4-2
+- first build
+
+* Thu Mar  4 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-1
+- Update to 2.0.4
+- Replace json_pure to json (bug 570252)
+
+* Mon Feb 15 2010 Darryl L. Pierce <dpierce@redhat.com> - 2.0.3-1
+- Added new dependency on rubygem-json >= 1.1.7.
+- Release 2.0.3 of RubyForge.
+
+* Tue Sep 15 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.0.5-1
+- Release 1.0.5 of RubyForge.
+
+* Sat Aug  8 2009 Darryl L. Pierce <dpierce@redhat.com> - 1.0.4-1
+- Release 1.0.4 of RubyForge.
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri Feb 27 2009 Darryl Pierce <dpierce@redhat.com> - 1.0.3-1
+- Release 1.0.3 of RubyForge.
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Tue Jan 06 2009 Darryl Pierce <dpierce@redhat.com> - 1.0.2-2
+- Provided the wrong gem as source.
+
+* Tue Jan 06 2009 Darryl Pierce <dpierce@redhat.com> - 1.0.2-1
+- Release 1.0.2 of Rubyforge.
+
+* Thu Oct 23 2008 Darryl Pierce <dpierce@redhat.com> - 1.0.1-1
+- Release 1.0.1 of Rubyforge.
+
+* Mon Jun 09 2008 Darryl Pierce <dpierce@redhat.com> - 1.0.0-1
+- New version of RubyForge released.
+
+* Wed May 14 2008 Darryl Pierce <dpierce@redhat.com> - 0.4.5-2
+- Figured out how to do a proper build.
+
+* Mon May 12 2008 Darryl Pierce <dpierce@redhat.com> - 0.4.5-1
+- New version of the gem released.
+
+* Tue Apr 29 2008 Darryl Pierce <dpierce@redhat.com> - 0.4.4-3
+- Fixed the executable attribute for rubyforge.rb.
+
+* Mon Apr 28 2008 Darryl Pierce <dpierce@redhat.com> - 0.4.4-2
+- Updated the spec to comply with Ruby packaging guidelines.
+
+* Fri Apr 18 2008 Darryl Pierce <dpierce@redhat.com> - 0.4.4-1
+- Initial package
diff --git a/rubygem-safemode/rubygem-safemode.spec b/rubygem-safemode/rubygem-safemode.spec
new file mode 100644
index 000000000..74bfa185c
--- /dev/null
+++ b/rubygem-safemode/rubygem-safemode.spec
@@ -0,0 +1,135 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name safemode
+
+Summary: A library for safe evaluation of Ruby code
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 1.2.0
+Release: 5%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/svenfuchs/safemode
+Source0: https://rubygems.org/downloads/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem(ruby2ruby) >= 2.0.1 
+Requires: %{?scl_prefix}rubygem(ruby_parser) >= 3.0.1 
+Requires: %{?scl_prefix}rubygem(sexp_processor) >= 4.1.2
+
+BuildRequires: %{?scl_prefix}rubygems-devel
+#BuildRequires: %{?scl_prefix}rubygem(jeweler) >= 1.8.3
+BuildRequires: %{?scl_prefix}rubygem(rake)
+BuildRequires: %{?scl_prefix}rubygem(rdoc)
+BuildRequires: %{?scl_prefix}rubygems
+
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(safemode) = %{version}
+
+%description
+A library for safe evaluation of Ruby code based on RubyParser and Ruby2Ruby.
+Provides Rails ActionView template handlers for ERB and Haml.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+%setup -q -D -T -n  %{gem_name}-%{version}
+sed -i '1,$s/rdoc.*3.12)/rdoc/' Gemfile.lock
+sed -i '1,$s/~> 3.12/> 0/g' Gemfile
+sed -i '1,$s/~> 3.12/> 0/g' safemode.gemspec
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+# Create the gem as gem install only works on a gem file
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+rm -rf ./%{gem_dir}/gems/%{gem_name}-%{version}/.yardoc
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+mv %{buildroot}%{gem_instdir}/{LICENCSE,README.markdown} ./
+rm %{buildroot}%{gem_instdir}/VERSION
+
+%files
+%doc LICENCSE
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%{gem_instdir}/demo.rb
+%{gem_instdir}/init.rb
+%{gem_instdir}/safemode.gemspec
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/test
+%{gem_instdir}/Gemfile*
+%{gem_instdir}/Rakefile
+%{gem_docdir}
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 1.2.0-5
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- remove unused BRs (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 1.2.0-3
+- new package built with tito
+
+* Wed Feb 20 2013 Lukas Zapletal <lzap+git@redhat.com> 1.2.0-2
+- safemode 1.2
+
+* Wed Feb 20 2013 Lukas Zapletal <lzap+rpm[@]redhat.com> - 1.2.0-1
+- new version
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 1.1.0-2
+- require correct version of gems -namely ruby2ruby (msuchy@redhat.com)
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 1.1.0-1
+- rebase to safemode-1.1.0.gem (msuchy@redhat.com)
+
+* Fri Aug 10 2012 Miroslav Suchý <msuchy@redhat.com> 1.0.1-6
+- fix sed expression (msuchy@redhat.com)
+
+* Fri Aug 10 2012 Miroslav Suchý <msuchy@redhat.com> 1.0.1-5
+- it should work even with older rdoc (msuchy@redhat.com)
+
+* Fri Aug 10 2012 Miroslav Suchý <msuchy@redhat.com> 1.0.1-4
+- fix build requires (msuchy@redhat.com)
+
+* Thu Aug 09 2012 Miroslav Suchý <msuchy@redhat.com> 1.0.1-3
+- fix filelist (msuchy@redhat.com)
+
+* Thu Aug 09 2012 Miroslav Suchý <msuchy@redhat.com> 1.0.1-2
+- new package built with tito
+
diff --git a/rubygem-safemode/safemode-1.2.0.gem b/rubygem-safemode/safemode-1.2.0.gem
new file mode 120000
index 000000000..ab83ba6ad
--- /dev/null
+++ b/rubygem-safemode/safemode-1.2.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/FP/vF/SHA256E-s20480--8cc91bc69707056d6a7ae2aea18693795695c7f6799dfdb58da95a0f6eef208b.0.gem/SHA256E-s20480--8cc91bc69707056d6a7ae2aea18693795695c7f6799dfdb58da95a0f6eef208b.0.gem
\ No newline at end of file
diff --git a/rubygem-sass/rubygem-sass.spec b/rubygem-sass/rubygem-sass.spec
new file mode 100644
index 000000000..5c3a7ec34
--- /dev/null
+++ b/rubygem-sass/rubygem-sass.spec
@@ -0,0 +1,138 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from sass-3.1.4.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name sass
+
+%global rubyabi 1.9.1
+
+Summary: A powerful but elegant CSS compiler that makes CSS fun again
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 3.2.13
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://sass-lang.com/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildRequires: %{?scl_prefix}rubygem(minitest)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Sass makes CSS fun again. Sass is an extension of CSS3, adding
+nested rules, variables, mixins, selector inheritance, and more.
+It's translated to well-formatted, standard CSS using the
+command line tool or a web-framework plugin.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} --bindir .%{_bindir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+# Remove bundled rubygem-listener:
+# https://github.com/nex3/sass/issues/458
+rm -rf vendor
+popd
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+mkdir -p %{buildroot}%{_bindir}
+cp -a .%{_bindir}/* %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+%check
+pushd .%{gem_instdir}
+export LANG=en_US.utf8
+%{?scl:scl enable %{scl} "}
+find -type f -name *_test.rb | xargs testrb -Itest
+%{?scl:"}
+popd
+
+%files
+%dir %{gem_instdir}
+%{_bindir}/sass
+%{_bindir}/sass-convert
+%{_bindir}/scss
+%{gem_instdir}/bin
+%{gem_libdir}
+%exclude %{gem_instdir}/.*
+%{gem_instdir}/init.rb
+%{gem_instdir}/rails/init.rb
+%{gem_instdir}/extra/update_watch.rb
+%{gem_instdir}/VERSION
+%{gem_instdir}/VERSION_DATE
+%{gem_instdir}/VERSION_NAME
+%doc %{gem_instdir}/MIT-LICENSE
+%doc %{gem_instdir}/CONTRIBUTING
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/REVISION
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/Rakefile
+%{gem_instdir}/test
+
+%changelog
+* Sun Dec 29 2013 Dominic Cleal <dcleal@redhat.com> 3.2.13-1
+- Update to sass 3.2.13 (dcleal@redhat.com)
+- remove empty tito.props and definition which are duplicate with default from
+  rel-eng/tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Thu Feb 28 2013 Miroslav Suchý <msuchy@redhat.com> 3.1.20-3
+- new package built with tito
+
+* Thu Jul 26 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 3.1.20-2
+- Rebuilt for SCL.
+
+* Mon Jul 23 2012 Vít Ondruch <vondruch@redhat.com> - 3.1.20-1
+- Update to sass 3.1.20.
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.7-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jan 31 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 3.1.7-6
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.7-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Fri Jul 22 2011 Chris Lalancette <clalance@redhat.com> - 3.1.4-4
+- Add patches to make sass work in Fedora
+
+* Thu Jul 21 2011 Mo Morsi <mmorsi@redhat.com> - 3.1.4-3
+- changed ruby(fssm) dep to rubygem(fssm)
+
+* Thu Jul 14 2011 Mo Morsi <mmorsi@redhat.com> - 3.1.4-2
+- corrected license, whitespace fixes
+
+* Wed Jul 13 2011 Mo Morsi <mmorsi@redhat.com> - 3.1.4-1
+- Initial package
diff --git a/rubygem-sass/sass-3.2.13.gem b/rubygem-sass/sass-3.2.13.gem
new file mode 120000
index 000000000..706514e60
--- /dev/null
+++ b/rubygem-sass/sass-3.2.13.gem
@@ -0,0 +1 @@
+../.git/annex/objects/KP/kZ/SHA256E-s263680--21bd6adf694014c43ffd668ec3067d52c01623d6b432510b1f3dda1ba342243c.13.gem/SHA256E-s263680--21bd6adf694014c43ffd668ec3067d52c01623d6b432510b1f3dda1ba342243c.13.gem
\ No newline at end of file
diff --git a/rubygem-scoped_search/rubygem-scoped_search.spec b/rubygem-scoped_search/rubygem-scoped_search.spec
new file mode 100644
index 000000000..be92fdd79
--- /dev/null
+++ b/rubygem-scoped_search/rubygem-scoped_search.spec
@@ -0,0 +1,226 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name scoped_search
+
+Summary: Easily search your ActiveRecord models
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 2.7.1
+Release: 1%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://github.com/wvanbergen/scoped_search/wiki
+Source0: https://rubygems.org/downloads/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygem-activerecord >= 2.1.0
+BuildRequires: %{?scl_prefix}ruby 
+BuildRequires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(scoped_search) = %{version}
+
+# for check section
+%if 0%{?fedora} > 17
+BuildRequires: %{?scl_prefix}rubygem(rspec)
+BuildRequires: %{?scl_prefix}rubygem(activerecord)
+BuildRequires: %{?scl_prefix}rubygem(sqlite3)
+%endif
+
+%description
+Scoped search makes it easy to search your ActiveRecord-based models. It will
+create a named scope :search_for that can be called with a query string. It
+will build an SQL query using the provided query string and a definition that
+specifies on what fields to search. Because the functionality is built on
+named_scope, the result of the search_for call can be used like any other
+named_scope, so it can be chained with another scope or combined with
+will_paginate. Because it uses standard SQL, it does not require any setup,
+indexers or daemons. This makes scoped_search suitable to quickly add basic
+search functionality to your application with little hassle. On the other hand,
+it may not be the best choice if it is going to be used on very large data sets
+or by a large user base.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+%setup -q -D -T -n  %{gem_name}-%{version}
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+%{?scl:scl enable %{scl} "}
+# Create the gem as gem install only works on a gem file
+%{?scl:"}
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+rm -rf %{buildroot}%{gem_dir}/gems/%{gem_name}-%{version}/{.yardoc,.gitignore,.infinity_test,.travis.yml}
+mv %{buildroot}%{gem_instdir}/{LICENSE,README.rdoc} ./
+
+# https://github.com/wvanbergen/scoped_search/issues/26
+chmod a-x %{buildroot}%{gem_instdir}/lib/scoped_search.rb
+
+rm %{buildroot}%{gem_cache}
+
+%check
+pushd .%{gem_instdir}
+# Get rid of Bundler, not needed on Fedora.
+sed -i "/require 'bundler\/setup'/ d" spec/spec_helper.rb
+# sqlite3-ruby and sqlite3 are identical rubygems, where the former is
+# older name for the gem. Would be nice if upstream support both
+# reincarnations.
+# do not test on postgresql and ruby
+sed '5,15d' -i spec/database.ruby.yml
+#test does not work right now
+#https://github.com/wvanbergen/scoped_search/issues/34
+#or more precisly works only on F18+
+%if 0%{?fedora} > 17
+%{?scl:scl enable %{scl} "}
+rspec spec
+%{?scl:"}
+%endif
+popd
+
+%files
+%doc LICENSE
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%{gem_instdir}/init.rb
+%{gem_instdir}/app
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc README.rdoc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/Gemfile*
+%{gem_instdir}/spec
+%{gem_instdir}/%{gem_name}.gemspec
+
+%changelog
+* Mon Mar 24 2014 Dominic Cleal <dcleal@redhat.com> 2.7.1-1
+- rebase to 2.7.1 release (dcleal@redhat.com)
+
+* Mon Mar 10 2014 Dominic Cleal <dcleal@redhat.com> 2.6.5-1
+- rebase to 2.6.5 release (dcleal@redhat.com)
+
+* Wed Feb 12 2014 Dominic Cleal <dcleal@redhat.com> 2.6.3-1
+- rebase to 2.6.3 release (dcleal@redhat.com)
+
+* Mon Feb 10 2014 Dominic Cleal <dcleal@redhat.com> 2.6.2-1
+- rebase to 2.6.2 release (dcleal@redhat.com)
+
+* Thu Jun 20 2013 Miroslav Suchý <msuchy@redhat.com> 2.6.0-1
+- rebase to 2.6.0 release (msuchy@redhat.com)
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 2.5.1-3
+- fix files section (msuchy@redhat.com)
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 2.5.1-2
+- fix files section (msuchy@redhat.com)
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 2.5.1-1
+- rebase to scoped_search 2.5.1 (msuchy@redhat.com)
+
+* Tue Apr 02 2013 Miroslav Suchý <msuchy@redhat.com> 2.5.0-1
+- rebase to scoped_search-2.5.0 (msuchy@redhat.com)
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 2.4.1-3
+- include vendor in file list (msuchy@redhat.com)
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 2.4.1-2
+- include assets in file list (msuchy@redhat.com)
+
+* Thu Mar 28 2013 Miroslav Suchý <msuchy@redhat.com> 2.4.1-1
+- rebase to scoped_search-2.4.1 (msuchy@redhat.com)
+- require ruby193-build for tagging (msuchy@redhat.com)
+
+* Wed Feb 27 2013 Miroslav Suchý <msuchy@redhat.com> 2.4.0-6
+- new package built with tito
+
+* Mon Dec 03 2012 Miroslav Suchý <msuchy@redhat.com> 2.4.0-5
+- run test only on F18+ (msuchy@redhat.com)
+- enable tests (msuchy@redhat.com)
+
+* Tue Oct 30 2012 Miroslav Suchý <msuchy@redhat.com> 2.4.0-4
+- do not run test on rhel6 at all due missing rspec (msuchy@redhat.com)
+
+* Tue Oct 30 2012 Miroslav Suchý <msuchy@redhat.com> 2.4.0-3
+- remove .travis.yml, add Gemfile.activerecord* (msuchy@redhat.com)
+
+* Mon Oct 29 2012 Miroslav Suchý <msuchy@redhat.com> 2.4.0-2
+- do not run test, because it is not working (msuchy@redhat.com)
+- disable testing on other backend but sqllite (msuchy@redhat.com)
+- update to recent scoped_search-2.4.0.gem (msuchy@redhat.com)
+
+* Tue Oct 16 2012 Miroslav Suchý <msuchy@redhat.com> 2.4.0-1
+- update to recent scoped_search-2.4.0.gem (msuchy@redhat.com)
+
+* Wed Aug 15 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-10
+- 847504 - move gemspec to -doc subpackage (msuchy@redhat.com)
+
+* Wed Aug 15 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-9
+- test suite is failing on F17 a lot - disable for now (msuchy@redhat.com)
+- 847504 - use test suite (msuchy@redhat.com)
+- 847504 - remove dot files in %%install section (msuchy@redhat.com)
+- 847504 - use macro in SOURCE0 (msuchy@redhat.com)
+
+* Tue Aug 14 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-8
+- 847504 - put in front of chmod link to github issue (msuchy@redhat.com)
+- 847504 - fix typo in summary (msuchy@redhat.com)
+
+* Tue Aug 14 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-7
+- 847504 - remove cached gem (msuchy@redhat.com)
+- 847504 - correctly use dist tag (msuchy@redhat.com)
+- 847504 - rewrap description (msuchy@redhat.com)
+
+* Sun Aug 12 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-6
+- fix spelling error (msuchy@redhat.com)
+- module scoped_search.rb should not be executable (msuchy@redhat.com)
+
+* Sun Aug 12 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-5
+- buildroot is not needed (msuchy@redhat.com)
+- change Group to valid item (msuchy@redhat.com)
+
+* Fri Aug 10 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-4
+- there is no need to require rubygems in some version (msuchy@redhat.com)
+
+* Fri Aug 10 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-3
+- there is no need to require rubygems in some version (msuchy@redhat.com)
+
+* Thu Aug 09 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-2
+- fix filelist (msuchy@redhat.com)
+- create doc subpackage (msuchy@redhat.com)
+- fix requirements (msuchy@redhat.com)
+
+* Thu Aug 09 2012 Miroslav Suchý <msuchy@redhat.com> 2.3.7-1
+- edit rubygem-scoped_search.spec according guidelines (msuchy@redhat.com)
+- import rubygem-scoped_search.spec from foreman-rpms (msuchy@redhat.com)
+
diff --git a/rubygem-scoped_search/scoped_search-2.7.1.gem b/rubygem-scoped_search/scoped_search-2.7.1.gem
new file mode 120000
index 000000000..b226de841
--- /dev/null
+++ b/rubygem-scoped_search/scoped_search-2.7.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/kV/Zx/SHA256E-s46592--e2318743265070e435f34fedd0ed427aaf575ea07878d1150ce6d16805f24c7d.1.gem/SHA256E-s46592--e2318743265070e435f34fedd0ed427aaf575ea07878d1150ce6d16805f24c7d.1.gem
\ No newline at end of file
diff --git a/rubygem-sequel/rubygem-sequel.spec b/rubygem-sequel/rubygem-sequel.spec
new file mode 100644
index 000000000..6b19e1b73
--- /dev/null
+++ b/rubygem-sequel/rubygem-sequel.spec
@@ -0,0 +1,93 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name sequel
+
+Summary: The Database Toolkit for Ruby
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 3.45.0
+Release: 4%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://sequel.rubyforge.org
+Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+Requires: %{?scl_prefix}ruby(rubygems)
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+The Database Toolkit for Ruby
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+This package contains documentation for %{pkg_name}.
+
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+%setup -q -D -T -n %{gem_name}-%{version}
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p ./%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+#buildroot in %%install 
+%{?scl:scl enable %{scl} "}
+gem install -V \
+        --local \
+        --install-dir ./%{gem_dir} \
+        --force \
+        --rdoc  \
+        %{gem_name}-%{version}.gem
+%{?scl:"}
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
+find %{buildroot}%{gem_dir}/gems/%{gem_name}-%{version}/bin -type f | xargs chmod a+x
+chmod a+x %{buildroot}%{gem_instdir}/spec/adapters/db2_spec.rb 
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-, root, root, -)
+%{gem_dir}/bin/sequel
+%doc %{gem_instdir}/README.rdoc
+%doc %{gem_instdir}/CHANGELOG
+%{gem_dir}/gems/%{gem_name}-%{version}/
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%defattr(-, root, root, -)
+%doc %{gem_docdir}
+%doc %{gem_instdir}/doc
+
+%changelog
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 3.45.0-4
+- correct BR (msuchy@redhat.com)
+
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 3.45.0-3
+- run gem spec inside of SC (msuchy@redhat.com)
+
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 3.45.0-2
+- new package built with tito
+
+* Thu Mar 07 2013 Alejandro Pérez <aeperezt@fedoraproject.org> - 3.45.0-1
+- Initial package
diff --git a/rubygem-sequel/sequel-3.45.0.gem b/rubygem-sequel/sequel-3.45.0.gem
new file mode 120000
index 000000000..aaef98011
--- /dev/null
+++ b/rubygem-sequel/sequel-3.45.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/j2/zX/SHA256E-s1102848--c6dc44a3f789104be1e6304b28785fb8aac7920f439a00e7ff1869a2ccbfe74e.0.gem/SHA256E-s1102848--c6dc44a3f789104be1e6304b28785fb8aac7920f439a00e7ff1869a2ccbfe74e.0.gem
\ No newline at end of file
diff --git a/rubygem-sexp_processor/rubygem-sexp_processor.spec b/rubygem-sexp_processor/rubygem-sexp_processor.spec
new file mode 100644
index 000000000..a33fd1523
--- /dev/null
+++ b/rubygem-sexp_processor/rubygem-sexp_processor.spec
@@ -0,0 +1,92 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name sexp_processor
+%global rubyabi 1.9.1 
+
+Summary: sexp_processor branches from ParseTree bringing all the generic sexp processing tools with it
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 4.1.3
+Release: 5%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/seattlerb/sexp_processor
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi} 
+Requires: %{?scl_prefix}rubygems
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+sexp_processor branches from ParseTree bringing all the generic sexp
+processing tools with it. Sexp, SexpProcessor, Environment, etc... all
+for your language processing pleasure.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+%description doc
+This package contains documentation for %{pkg_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+%build
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install -V \
+  --local \
+  --install-dir $(pwd)/%{gem_dir} \
+  --force --rdoc \
+  %{SOURCE0}
+%{?scl:"}
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+# Drop the standalone mode - won't run that way due to missing rubygems require
+# anyway
+find %{buildroot}%{gem_instdir}/test -type f | \
+  xargs -n 1 sed -i  -e '/^#!\/usr\/.*\/ruby.*/d'
+# Ships with extremely tight permissions, bring them inline with other gems
+find %{buildroot}%{gem_instdir} -type f | \
+  xargs chmod 0644
+
+rm -f %{buildroot}%{gem_instdir}/.gemtest
+
+%files
+%doc %{gem_instdir}/History.txt
+%doc %{gem_instdir}/Manifest.txt
+%doc %{gem_instdir}/README.txt
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/test
+%{gem_docdir}
+
+%changelog
+* Tue Mar 19 2013 Miroslav Suchý <msuchy@redhat.com> 4.1.3-4
+- rebase to sexp_processor-4.1.3 (msuchy@redhat.com)
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 4.1.3-3
+- define libdir for el6 (msuchy@redhat.com)
+
+* Thu Jan 03 2013 Miroslav Suchý <msuchy@redhat.com> 4.1.3-2
+- tune up spec (msuchy@redhat.com)
+- rebase to sexp_processor-4.1.3.gem (msuchy@redhat.com)
+
+* Fri Oct 26 2012 Dmitri Dolguikh <dmitri@appliedlogic.ca> 4.1.0-1
+- new package built with tito
+
+* Fri Oct 26 2012 wb - 4.1.0-1
+- Initial package
diff --git a/rubygem-sexp_processor/sexp_processor-4.1.3.gem b/rubygem-sexp_processor/sexp_processor-4.1.3.gem
new file mode 120000
index 000000000..466e4dae2
--- /dev/null
+++ b/rubygem-sexp_processor/sexp_processor-4.1.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/gK/3W/SHA256E-s34816--d02f1465c7f012f77a61abdaa841a5273a2277247bc143bfa11cf139a29dbdf8.3.gem/SHA256E-s34816--d02f1465c7f012f77a61abdaa841a5273a2277247bc143bfa11cf139a29dbdf8.3.gem
\ No newline at end of file
diff --git a/rubygem-shoulda/rubygem-shoulda-init.rb b/rubygem-shoulda/rubygem-shoulda-init.rb
new file mode 100644
index 000000000..6dbfa4cb4
--- /dev/null
+++ b/rubygem-shoulda/rubygem-shoulda-init.rb
@@ -0,0 +1 @@
+require File.join(File.dirname(__FILE__), 'rails', 'init')
diff --git a/rubygem-shoulda/rubygem-shoulda-tasks_shoulda.rake b/rubygem-shoulda/rubygem-shoulda-tasks_shoulda.rake
new file mode 100644
index 000000000..720f27d7c
--- /dev/null
+++ b/rubygem-shoulda/rubygem-shoulda-tasks_shoulda.rake
@@ -0,0 +1 @@
+load File.join(File.dirname(__FILE__), "..", "lib", "shoulda", "tasks.rb")
diff --git a/rubygem-shoulda/rubygem-shoulda.spec b/rubygem-shoulda/rubygem-shoulda.spec
new file mode 100644
index 000000000..c34382edf
--- /dev/null
+++ b/rubygem-shoulda/rubygem-shoulda.spec
@@ -0,0 +1,152 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name shoulda
+%global railsver %(gem list rails | grep rails | cut -d\\( -f2 | cut -d\\) -f1 | head -1 )
+
+Summary: Making tests easy on the fingers and eyes
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.11.3
+Release: 8%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://thoughtbot.com/community/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+# The following files are needed for testing, but are not part of the
+# distribution. Here's how you obtain these files:
+# 
+# git clone git://github.com/thoughtbot/shoulda.git
+# cd shoulda
+# git checkout v2.11.3 # the version 
+# cp tasks/shoulda.rake /path/to/SOURCES/rubygem-shoulda-tasks_shoulda.rake
+# cp init.rb /path/to/SOURCES/rubygem-shoulda-init.rb
+Source1:        rubygem-shoulda-tasks_shoulda.rake
+Source2:        rubygem-shoulda-init.rb
+
+BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: dos2unix
+#BuildRequires: %{?scl_prefix}rubygem(cucumber)
+#BuildRequires: %{?scl_prefix}rubygem(rake)
+#BuildRequires: %{?scl_prefix}rubygem(rails)
+#BuildRequires: %{?scl_prefix}rubygem(sqlite3)
+#BuildRequires: %{?scl_prefix}rubygem(mocha)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Making tests easy on the fingers and eyes
+
+%package doc
+Summary:           Documentation for %{pkg_name}
+Group:             Documentation
+Requires:          %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+Documentation for %{pkg_name}.
+
+
+
+%prep
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{buildroot}%{gem_dir} \
+            --force --rdoc %{SOURCE0}
+%{?scl:"}
+mkdir -p %{buildroot}/%{_bindir}
+mv %{buildroot}%{gem_dir}/bin/* %{buildroot}/%{_bindir}
+rmdir %{buildroot}%{gem_dir}/bin
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+%{?scl:scl enable %{scl} "}
+# Notified upstream of lack of ability to run tests after running gem install 
+%{?scl:"}
+#  on Sep 03, 2010.  Not holding my breath.
+
+# This task is not part of the distribution but is required for rake test in %%check
+mkdir -p %{buildroot}%{gem_instdir}/tasks
+cp -a -p %{SOURCE1} %{buildroot}%{gem_instdir}/tasks/%{gem_name}.rake
+# This is also not part of dist gem, but needed for tests
+cp -a -p %{SOURCE2} %{buildroot}%{gem_instdir}/init.rb
+# This is also not part of dist gem, but needed for tests
+cp -a -p %{buildroot}/%{gem_dir}/specifications/* %{buildroot}%{gem_instdir}/shoulda.gemspec
+
+# environment.rb set to use a static Rails version -- it's not pretty, but it works
+echo 'RAILS_GEM_VERSION="%{railsver}" '  >  %{buildroot}%{gem_instdir}/test/rails2_root/config/environment.tmp.rb
+cat %{buildroot}%{gem_instdir}/test/rails2_root/config/environment.rb >> %{buildroot}%{gem_instdir}/test/rails2_root/config/environment.tmp.rb
+mv -f  %{buildroot}%{gem_instdir}/test/rails2_root/config/environment.tmp.rb %{buildroot}%{gem_instdir}/test/rails2_root/config/environment.rb
+
+# Fix end-of-line encoding
+dos2unix %{buildroot}/%{gem_instdir}/MIT-LICENSE
+
+
+
+%clean
+rm -rf %{buildroot}
+
+%check 
+pushd %{buildroot}%{gem_instdir}
+# TODO: run when new version comes out
+# (tests of this version only work with rails 2.x.x)
+#rake test
+popd
+
+%files
+%defattr(-, root, root, -)
+%{_bindir}/convert_to_should_syntax
+%dir %{gem_instdir}
+%doc %{gem_instdir}/README.rdoc
+%doc %{gem_instdir}/MIT-LICENSE
+%{gem_cache}
+%{gem_spec}
+%{gem_libdir}
+%{gem_instdir}/bin
+%{gem_instdir}/rails
+
+%files doc
+%defattr(-, root, root, -)
+%{gem_instdir}/tasks
+%{gem_instdir}/init.rb
+%{gem_instdir}/*.gemspec
+%{gem_docdir}
+%{gem_instdir}/CONTRIBUTION_GUIDELINES.rdoc
+%{gem_instdir}/test
+%{gem_instdir}/Rakefile
+
+%changelog
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 2.11.3-8
+- remove BR needed for %%check which we do not run (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 2.11.3-7
+- fix BR (msuchy@redhat.com)
+
+* Wed Mar 13 2013 Miroslav Suchý <msuchy@redhat.com> 2.11.3-6
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.11.3-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Thu Feb 02 2012 Vít Ondruch <vondruch@redhat.com> - 2.11.3-4
+- Rebuilt for Ruby 1.9.3.
+
+* Sun Jan 08 2012 <stahnma@fedoraproject.org> - 2.11.3-2
+- Jumped in to help with FTBFS bz#715949
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Sep 01 2010 Michael Stahnke <stahnma@fedoraproject.org> - 2.11.3-1
+- New version
+- Fix many broken tests 
+- Split into -doc package
+
+* Sat Jan  9 2010 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 2.10.2-2
+- Fix BuildRequires
+- First package
diff --git a/rubygem-shoulda/shoulda-2.11.3.gem b/rubygem-shoulda/shoulda-2.11.3.gem
new file mode 120000
index 000000000..e3e834b3f
--- /dev/null
+++ b/rubygem-shoulda/shoulda-2.11.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/0F/Qq/SHA256E-s344064--73fc7ec463b35c0e69d4df408cbcc4f109e5575f05f1cca71a633662d87d5387.3.gem/SHA256E-s344064--73fc7ec463b35c0e69d4df408cbcc4f109e5575f05f1cca71a633662d87d5387.3.gem
\ No newline at end of file
diff --git a/rubygem-signet/rubygem-signet.spec b/rubygem-signet/rubygem-signet.spec
new file mode 100644
index 000000000..6f40d7b05
--- /dev/null
+++ b/rubygem-signet/rubygem-signet.spec
@@ -0,0 +1,88 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name signet
+%global rubyabi 1.9.1
+
+Summary: Signet is an OAuth 1.0 / OAuth 2.0 implementation
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.4.5
+Release: 1%{?dist}
+Group: Development/Languages
+License: ASL 2.0
+URL: http://code.google.com/p/oauth-signet/
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+Requires: %{?scl_prefix}rubygem(addressable) >= 2.2.3
+Requires: %{?scl_prefix}rubygem(faraday) >= 0.8.1
+Requires: %{?scl_prefix}rubygem(faraday) < 0.9.0
+Requires: %{?scl_prefix}rubygem(jwt) >= 0.1.5
+Requires: %{?scl_prefix}rubygem(multi_json) >= 1.0.0
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Signet is an OAuth 1.0 / OAuth 2.0 implementation.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/Gemfile*
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/spec
+%exclude %{gem_instdir}/tasks
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/CHANGELOG.md
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/website
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 0.4.5-1
+- new package built with tito
+
diff --git a/rubygem-signet/signet-0.4.5.gem b/rubygem-signet/signet-0.4.5.gem
new file mode 120000
index 000000000..55b72e178
--- /dev/null
+++ b/rubygem-signet/signet-0.4.5.gem
@@ -0,0 +1 @@
+../.git/annex/objects/8x/m8/SHA256E-s56320--f00c0b8a773cf6e6f61fd544aaf4e4b6b8260bac951604030e5a4810839ca1a9.5.gem/SHA256E-s56320--f00c0b8a773cf6e6f61fd544aaf4e4b6b8260bac951604030e5a4810839ca1a9.5.gem
\ No newline at end of file
diff --git a/rubygem-single_test/single_test-0.5.2.gem b/rubygem-single_test/single_test-0.5.2.gem
new file mode 120000
index 000000000..7b709b091
--- /dev/null
+++ b/rubygem-single_test/single_test-0.5.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/qz/xk/SHA256E-s9216--f766f1f7019dab64cb1ee0f7537686db66de9c2b47a06a5ca1b5259df08b9621.2.gem/SHA256E-s9216--f766f1f7019dab64cb1ee0f7537686db66de9c2b47a06a5ca1b5259df08b9621.2.gem
\ No newline at end of file
diff --git a/rubygem-single_test/single_test.spec b/rubygem-single_test/single_test.spec
new file mode 100644
index 000000000..6ca1cbea0
--- /dev/null
+++ b/rubygem-single_test/single_test.spec
@@ -0,0 +1,98 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name single_test
+
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.5.2
+Release: 2%{?dist}
+Summary: Rake tasks to invoke single tests/specs with rakish syntax
+Group: Development/Languages
+License: Public Domain
+URL: http://github.com/grosser/single_test
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}rubygem(rake) > 0.9
+
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}rubygems
+
+BuildArch: noarch
+
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Runs a single test/spec via rake.
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+
+%setup -q -D -T -n  %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+%build
+mkdir -p .%{gem_dir}
+
+# Create the gem as gem install only works on a gem file
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+
+# gem install installs into a directory.  We set that to be a local
+# directory so that we can move it into the buildroot in %%install
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir ./%{gem_dir} \
+            --force --rdoc %{gem_name}-%{version}.gem
+%{?scl:"}
+
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -pa .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%exclude %{gem_instdir}/spec
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/Readme.md
+%doc %{gem_instdir}/VERSION
+%exclude %{gem_instdir}/Gemfile*
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/*gemspec
+
+%changelog
+* Thu Jun 13 2013 Lukas Zapletal <lzap+git@redhat.com> 0.5.2-2
+- post gem2rpm changes (lzap+git@redhat.com)
+
+* Thu Jun 13 2013 Lukas Zapletal <lzap+git@redhat.com> 0.5.2-1
+- new package built with tito
+
diff --git a/rubygem-spice-html5-rails/rubygem-spice-html5-rails.spec b/rubygem-spice-html5-rails/rubygem-spice-html5-rails.spec
new file mode 100644
index 000000000..6ba28a2ae
--- /dev/null
+++ b/rubygem-spice-html5-rails/rubygem-spice-html5-rails.spec
@@ -0,0 +1,98 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from spice-html5-rails-0.0.1.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name spice-html5-rails
+%global rubyabi 1.9.1
+
+Summary: Spice client using HTML5 (WebSockets, Canvas)
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.1.4
+Release: 1%{?dist}
+Group: Development/Languages
+License: GPLv2+ or Ruby
+URL: http://www.spice-space.org
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems) 
+Requires: %{?scl_prefix}ruby 
+Requires: %{?scl_prefix}rubygem(railties) => 3.1
+Requires: %{?scl_prefix}rubygem(railties) < 4
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel 
+BuildRequires: %{?scl_prefix}ruby 
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Spice HTML5 client packed for Rails application
+
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+
+
+
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%{gem_instdir}/vendor
+%doc %{gem_instdir}/COPYING
+%doc %{gem_instdir}/COPYING.LESSER
+%doc %{gem_instdir}/LICENSE.txt
+%doc %{gem_instdir}/README.md
+
+%files doc
+%doc %{gem_docdir}
+
+%changelog
+* Tue Feb 11 2014 Dominic Cleal <dcleal@redhat.com> 0.1.4-1
+- Update to v0.1.4 (dcleal@redhat.com)
+
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.0.1-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.0.1-5
+- new package built with tito
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.1-3
+- new package built with tito
+
+* Wed Apr 03 2013 Miroslav Suchý <msuchy@redhat.com> 0.0.1-2
+- new package built with tito
+
+* Wed Apr 03 2013 msuchy@redhat.com - 0.0.1-1
+- Initial package
diff --git a/rubygem-spice-html5-rails/spice-html5-rails-0.1.4.gem b/rubygem-spice-html5-rails/spice-html5-rails-0.1.4.gem
new file mode 120000
index 000000000..05fc9ef91
--- /dev/null
+++ b/rubygem-spice-html5-rails/spice-html5-rails-0.1.4.gem
@@ -0,0 +1 @@
+../.git/annex/objects/v2/gm/SHA256E-s71680--9489fa3db3a968f3795109febb44a71cac179675ed24f388ea09b2903cb1d1d1.4.gem/SHA256E-s71680--9489fa3db3a968f3795109febb44a71cac179675ed24f388ea09b2903cb1d1d1.4.gem
\ No newline at end of file
diff --git a/rubygem-sshkey/rubygem-sshkey.spec b/rubygem-sshkey/rubygem-sshkey.spec
new file mode 100644
index 000000000..5cee996d7
--- /dev/null
+++ b/rubygem-sshkey/rubygem-sshkey.spec
@@ -0,0 +1,85 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name sshkey
+%global rubyabi 1.9.1
+
+Summary: Generate private/public SSH keypairs using pure Ruby
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 1.6.0
+Release: 2%{?dist}
+Group: Development/Languages
+License: MIT
+URL: https://github.com/bensie/sshkey
+Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
+
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby
+
+%if 0%{?fedora} > 18
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Generate private and public SSH keys (RSA and DSA supported) using pure Ruby.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%doc %{gem_instdir}/LICENSE
+
+%exclude %{gem_instdir}/.*
+%exclude %{gem_instdir}/*.gemspec
+%exclude %{gem_instdir}/Gemfile
+%exclude %{gem_instdir}/Rakefile
+%exclude %{gem_instdir}/test
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 1.6.0-2
+- Fix missing .gem (dcleal@redhat.com)
+
+* Sun Nov 10 2013 Dominic Cleal <dcleal@redhat.com> 1.6.0-1
+- new package built with tito
+
diff --git a/rubygem-sshkey/sshkey-1.6.0.gem b/rubygem-sshkey/sshkey-1.6.0.gem
new file mode 120000
index 000000000..61d58653b
--- /dev/null
+++ b/rubygem-sshkey/sshkey-1.6.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Kg/w5/SHA256E-s21504--b17492aa9f347c7844191f5a0f1a9f566cfd2cb219f6228482e8fccd1ead0e43.0.gem/SHA256E-s21504--b17492aa9f347c7844191f5a0f1a9f566cfd2cb219f6228482e8fccd1ead0e43.0.gem
\ No newline at end of file
diff --git a/rubygem-syntax/rubygem-syntax-fix-yaml-parse-for-ruby-1.9.patch b/rubygem-syntax/rubygem-syntax-fix-yaml-parse-for-ruby-1.9.patch
new file mode 100644
index 000000000..707192af4
--- /dev/null
+++ b/rubygem-syntax/rubygem-syntax-fix-yaml-parse-for-ruby-1.9.patch
@@ -0,0 +1,11 @@
+--- lib/syntax/lang/yaml.rb.orig	2012-01-31 15:07:34.533346064 +0100
++++ lib/syntax/lang/yaml.rb	2012-01-31 15:06:26.365562358 +0100
+@@ -62,7 +62,7 @@
+             start_group :string
+             loop do
+               line = check_until(/[\n\r]|\Z/)
+-              break if line.nil?
++              break if line.nil? or line.empty?
+               if line.chomp.length > 0
+                 this_indent = line.chomp.match( /^\s*/ )[0]
+                 break if this_indent.length < indent.length
diff --git a/rubygem-syntax/rubygem-syntax.spec b/rubygem-syntax/rubygem-syntax.spec
new file mode 100644
index 000000000..86d63a2f3
--- /dev/null
+++ b/rubygem-syntax/rubygem-syntax.spec
@@ -0,0 +1,96 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name syntax
+
+Summary:        Ruby library for performing simple syntax highlighting
+Name:           %{?scl_prefix}rubygem-%{gem_name}
+Version:        1.0.0
+Release:        9%{?dist}
+Group:          Development/Languages
+License:        Public Domain
+URL:            http://syntax.rubyforge.org/
+Source0:        http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+Source1:        %{gem_name}-LICENSE
+Patch0:         rubygem-syntax-fix-yaml-parse-for-ruby-1.9.patch
+BuildRoot:      %{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires:       %{?scl_prefix}ruby(abi) = 1.9.1
+Requires:       %{?scl_prefix}ruby(rubygems)
+BuildRequires:  %{?scl_prefix}rubygems-devel
+BuildRequires:  %{?scl_prefix}rubygem(minitest)
+BuildArch:      noarch
+Provides:       %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Syntax is a lexical analysis framework. It supports pluggable syntax
+modules, and comes with modules for Ruby, XML, and YAML.
+
+
+%prep
+install -pm 0644 %{SOURCE1} LICENSE
+mkdir -p .{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+        --force --rdoc %{SOURCE0}
+%{?scl:"}
+
+pushd .%{gem_instdir}
+%patch0
+popd
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{gem_dir}
+cp -a .%{gem_dir}/* $RPM_BUILD_ROOT%{gem_dir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%check
+pushd .%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+ruby -Itest test/ALL-TESTS.rb
+%{?scl:"}
+popd
+
+%files
+%defattr(-,root,root,-)
+%{gem_instdir}/
+%doc %{gem_docdir}
+%{gem_cache}
+%{gem_spec}
+%doc LICENSE
+
+%changelog
+* Fri Mar 15 2013 Lukas Zapletal <lzap+git@redhat.com> 1.0.0-8
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jan 31 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.0.0-6
+- Rebuilt for Ruby 1.9.3.
+- Introduced %%check section.
+- Added patch for Ruby 1.9.3 tests.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Mon Jul 08 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.0.0-2
+- Bring tests back
+- Depend on ruby(abi)
+- Replace defines with globals
+
+* Fri Jul 05 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.0.0-1
+- Package generated by gem2rpm
+- Don't ship tests
+- Fix up License
diff --git a/rubygem-syntax/syntax-1.0.0.gem b/rubygem-syntax/syntax-1.0.0.gem
new file mode 120000
index 000000000..ca2eb15c4
--- /dev/null
+++ b/rubygem-syntax/syntax-1.0.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/2F/fK/SHA256E-s15360--605e2f62770bad04e849b3a1a2234e45b2904a8592f2f4dcc0bb14dce09c23fd.0.gem/SHA256E-s15360--605e2f62770bad04e849b3a1a2234e45b2904a8592f2f4dcc0bb14dce09c23fd.0.gem
\ No newline at end of file
diff --git a/rubygem-syntax/syntax-LICENSE b/rubygem-syntax/syntax-LICENSE
new file mode 100644
index 000000000..163ef79a1
--- /dev/null
+++ b/rubygem-syntax/syntax-LICENSE
@@ -0,0 +1,44 @@
+From jamis.buck@gmail.com Sun Jun  7 04:58:44 2009
+Date: Sat, 6 Jun 2009 17:39:01 -0600
+Message-ID: <7f98661a0906061639s6f19b33emeb58c3da81ce9d5b@mail.gmail.com>
+Subject: Re: syntax licensing
+From: Jamis Buck <jamis@37signals.com>
+To: Lubomir Rintel <lkundrak@v3.sk>
+Content-Transfer-Encoding: 8bit
+
+Lubomir,
+
+The syntax gem that I wrote is no longer being maintained, and has
+been wholly deprecated in favor of the (much nicer) CodeRay library
+(http://coderay.rubychan.de/).
+
+That said, if you are still interested in packaging the syntax gem,
+you may use this email as notice of it's being placed in the public
+domain.
+
+"The syntax library is hereby placed into the public domain by its
+author, Jamis Buck."
+
+- Jamis
+
+On Sat, Jun 6, 2009 at 5:16 PM, Lubomir Rintel<lkundrak@v3.sk> wrote:
+> Hi,
+>
+> I have packaged your syntax rubygem (as dependency of newgem) for Fedora
+> [1] operating system. Unfortunatelly, I can't submit it for review for
+> inclusion since we could not determine what license is it distributed
+> under and therefore can't tell whether we can distribute it at all.
+>
+> I'll be very thankful if you could clarify the licensing conditions,
+> ideally by shipping the file with full text of license and referring to
+> it from comments in the source files.
+>
+> [1] http://fedoraproject.org/
+>
+> Thanks,
+> Lubomir Rintel
+>
+> --
+> "Excuse all the blood" -- Dead
+>
+>
diff --git a/rubygem-trollop/rubygem-trollop.spec b/rubygem-trollop/rubygem-trollop.spec
new file mode 100644
index 000000000..653a5d63b
--- /dev/null
+++ b/rubygem-trollop/rubygem-trollop.spec
@@ -0,0 +1,91 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global	gem_name trollop
+
+Summary:	A command-line option parsing library for ruby
+Name:		%{?scl_prefix}rubygem-%{gem_name}
+Version:	2.0
+Release:	3%{?dist}
+Group:		Applications/Productivity
+License:	GPLv2
+URL:		http://trollop.rubyforge.org/
+BuildRoot:	%{_tmppath}/%{pkg_name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires:	%{?scl_prefix}ruby(rubygems)
+Requires:	%{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires:	%{?scl_prefix}rubygem(hoe)
+BuildRequires:	%{?scl_prefix}rubygems-devel
+BuildRequires:  %{?scl_prefix}rubygem(minitest)
+BuildArch:	noarch
+Provides:	%{?scl_prefix}rubygem(%{gem_name}) = %{version}
+Source0:	http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+
+%description
+A command-line option parsing library for ruby. Trollop is designed to
+provide the maximal amount of GNU-style argument processing in the minimum
+number of lines of code (for you, the programmer).
+
+%prep
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{buildroot}%{gem_dir} \
+	--force --rdoc %{SOURCE0}
+%{?scl:"}
+
+%check
+cd %{buildroot}/%{gem_instdir}
+%{?scl:scl enable %{scl} "}
+ruby -Ilib/ test/test_trollop.rb
+%{?scl:"}
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-, root, root, -)
+%dir %{gem_instdir}
+%{gem_libdir}
+%{gem_instdir}/test
+%doc %{gem_instdir}/*.txt
+%doc %{gem_docdir}
+%{gem_cache}
+%{gem_spec}
+
+%changelog
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 2.0-2
+- new package built with tito
+
+* Sun Aug 19 2012 Jan Klepek <jan.klepek, at gmail.com> - 2.0-1
+- updated to latest release
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Feb 01 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 1.16.2-3
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Mar 10 2011 Jan Klepek <jan.klepek at, gmail.com> - 1.16.2-1
+- updated to 1.16.2
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.15-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sat Oct 3 2009 Jan Klepek <jan.klepekat, gmail.com> - 1.15-1
+- update of trollop to 1.15
+
+* Thu Sep 24 2009 Jan Klepek <jan.klepekat, gmail.com> - 1.14-1
+- directory ownership fix, license changed to GPLv2, redundant macro removed
+
+* Sun Sep 20 2009 Jan Klepek <jan.klepekat, gmail.com> - 1.14-0
+- Version update,
+
+* Sat Jan 24 2009 Kyle McMartin <kyle@redhat.com> - 1.10.2-1
+- Initial release of trollop.
diff --git a/rubygem-trollop/trollop-2.0.gem b/rubygem-trollop/trollop-2.0.gem
new file mode 120000
index 000000000..ec8fe3a7b
--- /dev/null
+++ b/rubygem-trollop/trollop-2.0.gem
@@ -0,0 +1 @@
+../.git/annex/objects/gf/J1/SHA256E-s22528--1f3eed108cf6dbceedf5a548b07ae788dc57893333a06b7aaab2a8d3d599e547.0.gem/SHA256E-s22528--1f3eed108cf6dbceedf5a548b07ae788dc57893333a06b7aaab2a8d3d599e547.0.gem
\ No newline at end of file
diff --git a/rubygem-unf/rubygem-unf.spec b/rubygem-unf/rubygem-unf.spec
new file mode 100644
index 000000000..3ae849d81
--- /dev/null
+++ b/rubygem-unf/rubygem-unf.spec
@@ -0,0 +1,115 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name unf
+
+%if !("%{?scl}" == "ruby193" || 0%{?rhel} > 6 || 0%{?fedora} > 16)
+%global gem_dir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
+%global gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}
+%global gem_libdir %{gem_instdir}/lib
+%global gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}
+%global gem_cache %{gem_dir}/cache
+%global gem_spec %{gem_dir}/specifications
+%endif
+
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.1.3
+Release: 3%{?dist}
+Summary: Unicode normalization form support for Ruby/JRuby
+Group: Development/Languages
+License: MIT
+URL: https://github.com/knu/ruby-unf
+Source0: %{gem_name}-%{version}.gem
+%if 0%{?fedora}
+Requires: %{?scl_prefix}ruby(release)
+Requires: %{?scl_prefix}ruby(rubygems)
+%else
+Requires: %{?scl_prefix}ruby(abi)
+Requires: %{?scl_prefix}rubygems
+%endif
+
+Requires: %{?scl_prefix}rubygem(unf_ext)
+
+%if (0%{?fedora} || "%{?scl}" == "ruby193")
+BuildRequires: %{?scl_prefix}rubygems-devel
+%endif
+
+%if 0%{?fedora}
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequires: %{?scl_prefix}ruby(abi)
+%endif
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: %{?scl_prefix}rubygems
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+Requires: %{?scl_prefix}rubygem(unf)
+
+%description
+A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+
+%setup -q -D -T -n  %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+
+%build
+# Create the gem as gem install only works on a gem file
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}/%{gem_dir}
+mkdir -p %{buildroot}%{gem_extdir}/lib
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+%{gem_instdir}/%{gem_name}.gemspec
+%{gem_instdir}/test
+%{gem_instdir}/Gemfile
+%{gem_instdir}/Rakefile
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/.gitignore
+%doc %{gem_instdir}/.travis.yml
+%doc %{gem_instdir}/CHANGELOG.md
+
+%changelog
+* Tue Nov 19 2013 Dominic Cleal <dcleal@redhat.com> 0.1.3-3
+- Add dependency on unf_ext (dcleal@redhat.com)
+- Fix project URL, typo (dcleal@redhat.com)
+
+* Tue Nov 12 2013 Sam Kottler <shk@redhat.com> 0.1.3-2
+- new package built with tito
+
+* Tue Nov 12 2013 Sam Kottler <shk@redhat.com> 0.1.3-1
+- Initial creation of the package (shk@redhat.com)
diff --git a/rubygem-unf/unf-0.1.3.gem b/rubygem-unf/unf-0.1.3.gem
new file mode 120000
index 000000000..f10a46df7
--- /dev/null
+++ b/rubygem-unf/unf-0.1.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/5j/40/SHA256E-s120320--550bc894b05a85a769f0668ca162f83fddace095aa9b8c80c1e83ddb7b4558b8.3.gem/SHA256E-s120320--550bc894b05a85a769f0668ca162f83fddace095aa9b8c80c1e83ddb7b4558b8.3.gem
\ No newline at end of file
diff --git a/rubygem-unf_ext/rubygem-unf_ext.spec b/rubygem-unf_ext/rubygem-unf_ext.spec
new file mode 100644
index 000000000..48b0109b2
--- /dev/null
+++ b/rubygem-unf_ext/rubygem-unf_ext.spec
@@ -0,0 +1,113 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name unf_ext
+
+%if !("%{?scl}" == "ruby193" || 0%{?rhel} > 6 || 0%{?fedora} > 16)
+%global gem_dir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
+%global gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}
+%global gem_libdir %{gem_instdir}/lib
+%global gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}
+%global gem_cache %{gem_dir}/cache
+%global gem_spec %{gem_dir}/specifications
+%endif
+
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 0.0.6
+Release: 4%{?dist}
+Summary: Unicode Normalization Form support library for CRuby
+Group: Development/Languages
+License: MIT
+URL: https://github.com/knu/ruby-unf_ext
+Source0: %{gem_name}-%{version}.gem
+%if 0%{?fedora}
+Requires: %{?scl_prefix}ruby(release)
+Requires: %{?scl_prefix}ruby(rubygems)
+%else
+Requires: %{?scl_prefix}ruby(abi)
+Requires: %{?scl_prefix}rubygems
+%endif
+
+%if (0%{?fedora} || "%{?scl}" == "ruby193")
+BuildRequires: %{?scl_prefix}rubygems-devel
+%endif
+
+%if 0%{?fedora}
+BuildRequires: %{?scl_prefix}ruby(release)
+%else
+BuildRequireS: %{?scl_prefix}ruby(abi)
+%endif
+BuildRequires: %{?scl_prefix}ruby-devel
+BuildRequires: %{?scl_prefix}rubygems
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+Unicode Normalization Form support library for CRuby
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{pkg_name}
+
+%prep
+%{?scl:scl enable %{scl} "}
+gem unpack %{SOURCE0}
+%{?scl:"}
+
+%setup -q -D -T -n  %{gem_name}-%{version}
+
+%{?scl:scl enable %{scl} "}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
+%{?scl:"}
+
+
+%build
+# Create the gem as gem install only works on a gem file
+%{?scl:scl enable %{scl} "}
+gem build %{gem_name}.gemspec
+%{?scl:"}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force %{SOURCE0}
+%{?scl:"}
+
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}/%{gem_dir}
+mkdir -p %{buildroot}%{gem_extdir_mri}/lib
+
+%files
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_instdir}/ext
+%exclude %{gem_cache}
+%{gem_spec}
+%{gem_instdir}/%{gem_name}.gemspec
+%{gem_instdir}/test
+%{gem_instdir}/Gemfile
+%{gem_instdir}/Rakefile
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/LICENSE.txt
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/.gitignore
+%doc %{gem_instdir}/.document
+
+%changelog
+* Tue Nov 12 2013 Sam Kottler <shk@redhat.com> 0.0.6-4
+- Actually fix the rubygems-devel issue (shk@redhat.com)
+
+* Tue Nov 12 2013 Sam Kottler <shk@redhat.com> 0.0.6-3
+- Make sure rubygems-devel is required during build for SCL (shk@redhat.com)
+
+* Tue Nov 12 2013 Sam Kottler <shk@redhat.com> 0.0.6-2
+- Initial build with support for SCL
+
+* Tue Nov 12 2013 Sam Kottler <skottler@redhat.com> - 0.0.6-1
+- Initial package
diff --git a/rubygem-unf_ext/unf_ext-0.0.6.gem b/rubygem-unf_ext/unf_ext-0.0.6.gem
new file mode 120000
index 000000000..edf1c9de8
--- /dev/null
+++ b/rubygem-unf_ext/unf_ext-0.0.6.gem
@@ -0,0 +1 @@
+../.git/annex/objects/xW/P7/SHA256E-s395264--afcdba30a57665a4540c5d43b2833c6a3677a3296428fa70fbd7b4c8feaceb1f.6.gem/SHA256E-s395264--afcdba30a57665a4540c5d43b2833c6a3677a3296428fa70fbd7b4c8feaceb1f.6.gem
\ No newline at end of file
diff --git a/rubygem-unicode-display_width/rubygem-unicode-display_width.spec b/rubygem-unicode-display_width/rubygem-unicode-display_width.spec
new file mode 100644
index 000000000..997adf12a
--- /dev/null
+++ b/rubygem-unicode-display_width/rubygem-unicode-display_width.spec
@@ -0,0 +1,79 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name unicode-display_width
+
+Summary: Support for east_asian_width string widths.
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 0.1.1
+Release: 6%{dist}
+Group: Development/Ruby
+License: MIT
+URL: http://github.com/janlelis/unicode-display_width
+Source0: %{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(unicode-display_width) = %{version}
+
+%global gembuilddir %{buildroot}%{gem_dir}
+
+%description
+This gem adds String#display_size to get the display size of a string using
+EastAsianWidth.txt.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
+%{?scl:"}
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%doc %{gem_instdir}/LICENSE.txt
+%{gem_instdir}/data
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%{gem_instdir}/Rakefile
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/.gemspec
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.1.1-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 0.1.1-4
+- new package built with tito
+
+* Mon Sep 10 2012 Miroslav Suchý <msuchy@redhat.com> 0.1.1-3
+- remove yardoc (msuchy@redhat.com)
+
+* Mon Sep 10 2012 Miroslav Suchý <msuchy@redhat.com> 0.1.1-2
+- new package built with tito
+
diff --git a/rubygem-unicode-display_width/unicode-display_width-0.1.1.gem b/rubygem-unicode-display_width/unicode-display_width-0.1.1.gem
new file mode 120000
index 000000000..a2619e0be
--- /dev/null
+++ b/rubygem-unicode-display_width/unicode-display_width-0.1.1.gem
@@ -0,0 +1 @@
+../.git/annex/objects/Xz/gg/SHA256E-s672256--051066a27443d16a7ba2a5352511986819073858a77b6bbcc3e42486fda8b719.1.gem/SHA256E-s672256--051066a27443d16a7ba2a5352511986819073858a77b6bbcc3e42486fda8b719.1.gem
\ No newline at end of file
diff --git a/rubygem-uuidtools/rubygem-uuidtools.spec b/rubygem-uuidtools/rubygem-uuidtools.spec
new file mode 100644
index 000000000..c579fa550
--- /dev/null
+++ b/rubygem-uuidtools/rubygem-uuidtools.spec
@@ -0,0 +1,117 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+# Generated from uuidtools-2.1.1.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name uuidtools
+
+%global rubyabi 1.9.1
+
+Summary: A simple universally unique ID generation library
+Name: %{?scl_prefix}rubygem-%{gem_name}
+Version: 2.1.3
+Release: 3%{?dist}
+Group: Development/Languages
+License: MIT
+URL: http://uuidtools.rubyforge.org/
+Source0: http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
+Requires: %{?scl_prefix}ruby(rubygems)
+Requires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}ruby(abi) = %{rubyabi}
+BuildRequires: %{?scl_prefix}rubygem(rspec-core)
+BuildRequires: %{?scl_prefix}rubygem(rspec-mocks)
+BuildRequires: %{?scl_prefix}rubygem(rspec-expectations)
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+UUIDTools was designed to be a simple library for generating any of the various
+types of UUIDs.  It conforms to RFC 4122 whenever possible.
+
+%package doc
+Summary: Documentation for %{pkg_name}
+Group: Documentation
+
+Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+
+%description doc
+This package contains documentation for %{pkg_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install -V \
+  --local \
+  --install-dir $(pwd)/%{gem_dir} \
+  --force --rdoc \
+  %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
+
+%clean
+rm -rf %{buildroot}
+
+%check
+pushd .%{gem_instdir}
+# Can't run during check as it calls ifconfig
+echo 'UUIDTools::UUID.mac_address = "00:1f:c6:62:3d:15"' >> spec/spec_helper.rb
+%{?scl:scl enable %{scl} "}
+rspec spec
+%{?scl:"}
+popd
+
+%files
+%doc %{gem_instdir}/[A-Z]*
+%dir %{gem_instdir}
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/tasks
+%{gem_instdir}/website
+%{gem_instdir}/spec
+%{gem_docdir}
+
+%changelog
+* Wed Mar 06 2013 Lukas Zapletal <lzap+git@redhat.com> 2.1.3-3
+- new package built with tito
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Tue Nov 13 2012 Mo Morsi <mmorsi@redhat.com> - 2.1.3-1
+- Updated to uuidtools 2.1.3.
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jan 24 2012 Vít Ondruch <vondruch@redhat.com> - 2.1.2-3
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Dec 15 2011 Vít Ondruch <vondruch@redhat.com> - 2.1.2-1
+- Updated to uuidtools 2.1.2.
+
+* Thu Dec 15 2011 Vít Ondruch <vondruch@redhat.com> - 2.1.1-4
+- Use RSpec 2.x instead of RSpec 1.x.
+
+* Mon Aug 08 2011 Mo Morsi <mmorsi@redhat.com> - 2.1.1-3
+- Initial package
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Tue Mar 16 2010 Matthew Kent <mkent@magoazul.com> - 2.1.1-1
+- Initial package
diff --git a/rubygem-uuidtools/uuidtools-2.1.3.gem b/rubygem-uuidtools/uuidtools-2.1.3.gem
new file mode 120000
index 000000000..d57eb69f7
--- /dev/null
+++ b/rubygem-uuidtools/uuidtools-2.1.3.gem
@@ -0,0 +1 @@
+../.git/annex/objects/zq/mM/SHA256E-s22528--29de3fcff68186f74900f3fd78b887645a03d544f628c6e7246300738e661a6d.3.gem/SHA256E-s22528--29de3fcff68186f74900f3fd78b887645a03d544f628c6e7246300738e661a6d.3.gem
\ No newline at end of file
diff --git a/rubygem-will_paginate/rubygem-will_paginate.spec b/rubygem-will_paginate/rubygem-will_paginate.spec
new file mode 100644
index 000000000..5584395d2
--- /dev/null
+++ b/rubygem-will_paginate/rubygem-will_paginate.spec
@@ -0,0 +1,116 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name will_paginate
+
+
+Summary:       Most awesome pagination solution for Rails
+Name:          %{?scl_prefix}rubygem-%{gem_name}
+Version:       3.0.2
+Release:       8%{?dist}
+Group:         Development/Languages
+License:       MIT
+URL:           http://github.com/mislav/will_paginate
+Source0:       http://rubygems.org/gems/%{gem_name}-%{version}.gem
+Requires:      %{?scl_prefix}ruby(abi) = 1.9.1
+Requires:      %{?scl_prefix}ruby(rubygems)
+Requires:      %{?scl_prefix}rubygem(activerecord)
+BuildRequires: %{?scl_prefix}ruby(abi) = 1.9.1
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygem(activesupport)
+BuildRequires: %{?scl_prefix}rubygem(actionpack)
+BuildRequires: %{?scl_prefix}rubygem(activerecord)
+BuildRequires: %{?scl_prefix}rubygem(mocha)
+BuildRequires: %{?scl_prefix}rubygem(sqlite3)
+BuildRequires: %{?scl_prefix}rubygem(rspec)
+BuildRequires: %{?scl_prefix}rubygem(sequel)
+BuildArch:     noarch
+Provides:      %{?scl_prefix}rubygem(%{gem_name}) = %{version}
+
+%description
+The will_paginate library provides a simple, yet powerful and extensible API
+for ActiveRecord pagination and rendering of pagination links in ActionView
+templates.
+
+%prep
+%setup -n %{pkg_name}-%{version} -q -c -T
+mkdir -p .%{gem_dir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir .%{gem_dir} \
+            --force -V --rdoc %{SOURCE0}
+%{?scl:"}
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+        %{buildroot}%{gem_dir}/
+
+%check
+pushd .%{gem_instdir}
+#%{?scl:scl enable %{scl} "}
+#rspec spec
+#%{?scl:"}
+popd
+
+%files
+%defattr(-, root, root, -)
+%dir %{gem_instdir}
+%{gem_libdir}
+%doc %{gem_instdir}/Rakefile
+%doc %{gem_instdir}/README.md
+%doc %{gem_instdir}/LICENSE
+%doc %{gem_instdir}/spec
+%doc %{gem_docdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%changelog
+* Fri Mar 15 2013 Miroslav Suchý <msuchy@redhat.com> 3.0.2-7
+- disable tests temporary (msuchy@redhat.com)
+
+* Fri Mar 15 2013 Miroslav Suchý <msuchy@redhat.com> 3.0.2-6
+- use rspec instead of rspec-core (msuchy@redhat.com)
+
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 3.0.2-5
+- new package built with tito
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Feb 01 2012 Vít Ondruch <vondruch@redhat.com> - 3.0.2-3
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Nov 28 2011 Vít Ondruch <vondruch@redhat.com> - 3.0.2-1
+- Update to will_paginate 3.0.2.
+
+* Tue Jul 12 2011 Mo Morsi <mmorsi@redhat.com> - 3.0-0.1.pre2
+- Update to 3.0.pre2 for Rails 3 compatability
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.14-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Sep 08 2010 Michal Fojtik <mfojtik@redhat.com> - 2.3.14-1
+- Version bump
+
+* Wed May 19 2010 Michal Fojtik <mfojtik@redhat.com> - 2.3.12-2
+- Fixed documents
+- Fixed macros in changelog
+- Added activesupport to requires
+
+* Tue May 18 2010 Michal Fojtik <mfojtik@redhat.com> - 2.3.12-1
+- Version bump
+- Fixed BuildRequires
+
+
+* Tue Dec 08 2009 Darryl Pierce <dpierce@redhat.com> - 2.3.11-2
+- Replaced %%define with %%global.
+- Fixed license.
+- Replaced the source URL.
+
+* Thu Nov 19 2009 Darryl Pierce <dpierce@redhat.com> - 2.3.11-1
+- Initial package
diff --git a/rubygem-will_paginate/will_paginate-3.0.2.gem b/rubygem-will_paginate/will_paginate-3.0.2.gem
new file mode 120000
index 000000000..34ddb2412
--- /dev/null
+++ b/rubygem-will_paginate/will_paginate-3.0.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/V9/24/SHA256E-s33792--aa04e7159f4a6305618769039efd8c4cd27df8d35432e5b26e8ebe38d8d803f2.2.gem/SHA256E-s33792--aa04e7159f4a6305618769039efd8c4cd27df8d35432e5b26e8ebe38d8d803f2.2.gem
\ No newline at end of file
diff --git a/rubygem-wirb/rubygem-wirb.spec b/rubygem-wirb/rubygem-wirb.spec
new file mode 100644
index 000000000..bb96bd70e
--- /dev/null
+++ b/rubygem-wirb/rubygem-wirb.spec
@@ -0,0 +1,87 @@
+%{?scl:%scl_package rubygem-%{gem_name}}
+%{!?scl:%global pkg_name %{name}}
+
+%global gem_name wirb
+Summary: Wavy IRB: Colorizes irb results.
+Name: %{?scl_prefix}rubygem-%{gem_name}
+
+Version: 0.4.2
+Release: 6%{dist}
+Group: Development/Ruby
+License: MIT
+URL: https://github.com/janlelis/wirb
+Source0: %{gem_name}-%{version}.gem
+%if 0%{?fedora} > 18
+Requires: %{?scl_prefix}ruby(release)
+%else
+Requires: %{?scl_prefix}ruby(abi) = 1.9.1
+%endif
+BuildRequires: %{?scl_prefix}rubygems-devel
+BuildRequires: %{?scl_prefix}rubygems
+Requires: %{?scl_prefix}rubygems
+BuildArch: noarch
+Provides: %{?scl_prefix}rubygem(wirb) = %{version}
+
+%define gembuilddir %{buildroot}%{gem_dir}
+
+%description
+Wavy IRB: Colorizes irb results. It originated from Wirble, but only provides
+result highlighting. Just call Wirb.start and enjoy the colors in your IRB ;).
+You can use it with your favorite colorizer engine. See README.rdoc for more
+details.
+
+%package doc
+BuildArch:  noarch
+Requires:   %{?scl_prefix}%{pkg_name} = %{version}-%{release}
+Summary:    Documentation for rubygem-%{gem_name}
+
+%description doc
+This package contains documentation for rubygem-%{gem_name}.
+
+%prep
+%setup -n %{pkg_name}-%{version} -T -c
+
+%build
+
+%install
+mkdir -p %{gembuilddir}
+%{?scl:scl enable %{scl} "}
+gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
+%{?scl:"}
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
+rm -f %{buildroot}%{gem_instdir}/.gemtest
+
+%files
+%dir %{gem_instdir}
+%{gem_instdir}/lib
+%{gem_instdir}/data
+%doc %{gem_instdir}/COPYING.txt
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%{gem_instdir}/spec
+%doc %{gem_dir}/doc/wirb-0.4.2
+%doc %{gem_instdir}/CHANGELOG.rdoc
+%doc %{gem_instdir}/README.rdoc
+%{gem_instdir}/Rakefile
+%{gem_instdir}/%{gem_name}.gemspec
+
+%changelog
+* Thu Jul 04 2013 Dominic Cleal <dcleal@redhat.com> 0.4.2-6
+- change ruby(abi) to ruby(release) for F19+ (dcleal@redhat.com)
+- delete all zero sized tito.props (msuchy@redhat.com)
+- with recent tito you do not need SCL meta package (msuchy@redhat.com)
+
+* Wed Mar 27 2013 Miroslav Suchý <msuchy@redhat.com> 0.4.2-4
+- put correct license in spec (msuchy@redhat.com)
+
+* Thu Mar 14 2013 Miroslav Suchý <msuchy@redhat.com> 0.4.2-3
+- new package built with tito
+
+* Fri Sep 07 2012 Miroslav Suchý <msuchy@redhat.com> 0.4.2-2
+- polish the spec (msuchy@redhat.com)
+
+* Thu Sep 06 2012 Miroslav Suchý <msuchy@redhat.com> 0.4.2-1
+- new package built with tito
+
diff --git a/rubygem-wirb/wirb-0.4.2.gem b/rubygem-wirb/wirb-0.4.2.gem
new file mode 120000
index 000000000..5630960e2
--- /dev/null
+++ b/rubygem-wirb/wirb-0.4.2.gem
@@ -0,0 +1 @@
+../.git/annex/objects/vx/48/SHA256E-s22528--4b21ad434d9839e72ab1604a9b33aa0064086efc743a32c596f50e03580f4222.2.gem/SHA256E-s22528--4b21ad434d9839e72ab1604a9b33aa0064086efc743a32c596f50e03580f4222.2.gem
\ No newline at end of file
