diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..862bd5b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/click-6.7.tar.gz
diff --git a/.python-click.metadata b/.python-click.metadata
new file mode 100644
index 0000000..6084e9a
--- /dev/null
+++ b/.python-click.metadata
@@ -0,0 +1 @@
+83c030efae049b4dd834b01780126f0493192eee SOURCES/click-6.7.tar.gz
diff --git a/SOURCES/0001-Remove-outdated-comment-about-Click-3.0.patch b/SOURCES/0001-Remove-outdated-comment-about-Click-3.0.patch
new file mode 100644
index 0000000..bd5bdd9
--- /dev/null
+++ b/SOURCES/0001-Remove-outdated-comment-about-Click-3.0.patch
@@ -0,0 +1,24 @@
+From 4fa671b4afdde8e103a03b39dcdc66e1a10a16fa Mon Sep 17 00:00:00 2001
+From: Adam Dangoor <adamdangoor@gmail.com>
+Date: Mon, 31 Jul 2017 17:58:41 +0100
+Subject: [PATCH 1/3] Remove outdated comment about Click 3.0
+
+---
+ click/core.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/click/core.py b/click/core.py
+index 7456451..18fa9a5 100644
+--- a/click/core.py
++++ b/click/core.py
+@@ -68,7 +68,6 @@ def invoke_param_callback(callback, ctx, param, value):
+     args = getattr(code, 'co_argcount', 3)
+ 
+     if args < 3:
+-        # This will become a warning in Click 3.0:
+         from warnings import warn
+         warn(Warning('Invoked legacy parameter callback "%s".  The new '
+                      'signature for such callbacks starting with '
+-- 
+2.14.2
+
diff --git a/SOURCES/0002-Add-pytest-option-to-not-capture-warnings.patch b/SOURCES/0002-Add-pytest-option-to-not-capture-warnings.patch
new file mode 100644
index 0000000..ed34f7b
--- /dev/null
+++ b/SOURCES/0002-Add-pytest-option-to-not-capture-warnings.patch
@@ -0,0 +1,21 @@
+From 6e7951c511b8316a73d9a8d9c4cc130becd99e93 Mon Sep 17 00:00:00 2001
+From: Adam Dangoor <adamdangoor@gmail.com>
+Date: Mon, 31 Jul 2017 18:06:20 +0100
+Subject: [PATCH 2/3] Add pytest option to not capture warnings
+
+---
+ pytest.ini | 2 ++
+ 1 file changed, 2 insertions(+)
+ create mode 100644 pytest.ini
+
+diff --git a/pytest.ini b/pytest.ini
+new file mode 100644
+index 0000000..1ceab94
+--- /dev/null
++++ b/pytest.ini
+@@ -0,0 +1,2 @@
++[pytest]
++addopts = -p no:warnings
+-- 
+2.14.2
+
diff --git a/SOURCES/0003-Catch-and-test-pytest-warning.patch b/SOURCES/0003-Catch-and-test-pytest-warning.patch
new file mode 100644
index 0000000..ab8609b
--- /dev/null
+++ b/SOURCES/0003-Catch-and-test-pytest-warning.patch
@@ -0,0 +1,54 @@
+From e6fb0fe8bc75e7931fe86e95442eec09b49caee7 Mon Sep 17 00:00:00 2001
+From: Adam Dangoor <adamdangoor@gmail.com>
+Date: Mon, 31 Jul 2017 19:45:24 +0100
+Subject: [PATCH 3/3] Catch and test pytest warning
+
+---
+ pytest.ini           |  2 --
+ tests/test_compat.py | 15 +++++++++++++--
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+ delete mode 100644 pytest.ini
+
+diff --git a/pytest.ini b/pytest.ini
+deleted file mode 100644
+index 1ceab94..0000000
+--- a/pytest.ini
++++ /dev/null
+@@ -1,2 +0,0 @@
+-[pytest]
+-addopts = -p no:warnings
+diff --git a/tests/test_compat.py b/tests/test_compat.py
+index e4ecdc8..d86110a 100644
+--- a/tests/test_compat.py
++++ b/tests/test_compat.py
+@@ -1,3 +1,5 @@
++import pytest
++
+ import click
+ 
+ 
+@@ -11,10 +13,19 @@ if click.__version__ >= '3.0':
+         def cli(foo):
+             click.echo(foo)
+ 
+-        result = runner.invoke(cli, ['--foo', 'wat'])
++        with pytest.warns(Warning) as records:
++            result = runner.invoke(cli, ['--foo', 'wat'])
++
++        [warning_record] = records
++        warning_message = str(warning_record.message)
++        assert 'Invoked legacy parameter callback' in warning_message
+         assert result.exit_code == 0
++        # Depending on the pytest version, the warning message may be
++        # in `result.output`.
++        #
++        # In pytest version 3.1 pytest started capturing warnings by default.
++        # See https://docs.pytest.org/en/latest/warnings.html#warnings-capture.
+         assert 'WAT' in result.output
+-        assert 'Invoked legacy parameter callback' in result.output
+ 
+ 
+ def test_bash_func_name():
+-- 
+2.14.2
+
diff --git a/SPECS/python-click.spec b/SPECS/python-click.spec
new file mode 100644
index 0000000..93065e1
--- /dev/null
+++ b/SPECS/python-click.spec
@@ -0,0 +1,205 @@
+%global pypi_name click
+
+%if 0%{?rhel} > 7
+# Disable python2 build by default
+%bcond_with python2
+%else
+%bcond_without python2
+%endif
+
+Name:           python-%{pypi_name}
+Version:        6.7
+Release:        8%{?dist}
+Summary:        Simple wrapper around optparse for powerful command line utilities
+
+License:        BSD
+URL:            https://github.com/mitsuhiko/click
+Source0:        %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz
+# https://bugzilla.redhat.com/show_bug.cgi?id=1500962
+# https://github.com/pallets/click/pull/838
+Patch0:         0001-Remove-outdated-comment-about-Click-3.0.patch
+Patch1:         0002-Add-pytest-option-to-not-capture-warnings.patch
+Patch2:         0003-Catch-and-test-pytest-warning.patch
+
+BuildArch:      noarch
+
+%global _description \
+click is a Python package for creating beautiful command line\
+interfaces in a composable way with as little amount of code as necessary.\
+It's the "Command Line Interface Creation Kit".  It's highly configurable but\
+comes with good defaults out of the box.
+
+%description %{_description}
+
+%if %{with python2}
+%package -n     python2-%{pypi_name}
+Summary:        %{summary}
+%{?python_provide:%python_provide python2-%{pypi_name}}
+BuildRequires:  python2-devel
+%if ! (0%{?rhel} && 0%{?rhel} <= 7)
+BuildRequires:  python2-setuptools
+# pytest in base RHEL is too old, we'll skip the tests there
+BuildRequires:  python2-pytest >= 2.8
+%else
+BuildRequires:  python-setuptools
+%endif
+
+%description -n python2-%{pypi_name} %{_description}
+
+Python 2 version.
+%endif # with python2
+
+%package -n     python%{python3_pkgversion}-%{pypi_name}
+Summary:        %{summary}
+%{?python_provide:%python_provide python%{python3_pkgversion}-%{pypi_name}}
+BuildRequires:  python%{python3_pkgversion}-devel
+BuildRequires:  python%{python3_pkgversion}-setuptools
+BuildRequires:  python%{python3_pkgversion}-pytest >= 2.8
+
+%description -n python%{python3_pkgversion}-%{pypi_name} %{_description}
+
+Python 3 version.
+
+%prep
+%autosetup -n %{pypi_name}-%{version} -p1
+
+%build
+%if %{with python2}
+%py2_build
+%endif # with python2
+%py3_build
+
+%install
+%if %{with python2}
+%py2_install
+%endif # with python2
+%py3_install
+
+%check
+export PYTHONPATH=$(pwd)
+export LC_ALL=en_US.UTF-8
+%if %{with python2}
+%if ! (0%{?rhel} && 0%{?rhel} <= 7)
+# pytest in base RHEL is too old, we'll skip the tests there
+py.test-%{python2_version} tests --tb=long --verbose
+%endif
+%endif # with python2
+py.test-%{python3_version} tests --tb=long --verbose
+
+%if %{with python2}
+%files -n python2-%{pypi_name}
+%license LICENSE
+%doc README CHANGES
+%{python2_sitelib}/%{pypi_name}-*.egg-info/
+%{python2_sitelib}/%{pypi_name}/
+%endif # with python2
+
+%files -n python%{python3_pkgversion}-%{pypi_name}
+%license LICENSE
+%doc README CHANGES
+%{python3_sitelib}/%{pypi_name}-*.egg-info/
+%{python3_sitelib}/%{pypi_name}/
+
+%changelog
+* Fri Jun 22 2018 Charalampos Stratakis <cstratak@redhat.com> - 6.7-8
+- Conditionalize the python2 subpackage
+
+* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.7-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Oct 12 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.7-6
+- Fixup EPEL packaging
+
+* Thu Oct 12 2017 Carl George <carl@george.computer> - 6.7-6
+- Add EPEL compatibility
+
+* Thu Oct 12 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.7-5
+- Fix FTBFS
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.7-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.7-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Jan 09 2017 Miro HronĨok <mhroncok@redhat.com> - 6.7-2
+- Fixed a copy-paste bug in %%python_provide (rhbz#1411169)
+
+* Sat Jan 07 2017 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 6.7-1
+- Update to 6.7
+- Adopt to packaging guidelines
+
+* Tue Dec 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 6.6-4
+- Enable tests
+
+* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 6.6-3
+- Rebuild for Python 3.6
+- Disable python3 tests for now
+
+* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.6-2
+- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
+
+* Mon Apr 18 2016 Charalampos Stratakis <cstratak@redhat.com> - 6.6-1
+- Update to 6.6
+- Removed non-applied patch file.
+
+* Tue Mar 08 2016 Robert Kuska <rkuska@redhat.com> - 6.3-1
+- Update to 6.3
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 6.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Jan 19 2016 Robert Kuska <rkuska@redhat.com> - 6.2-1
+- Update to 6.2
+
+* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 5.1-2
+- Rebuilt for Python3.5 rebuild
+
+* Mon Aug 24 2015 Robert Kuska <rkuska@redhat.com> - 5.1-1
+- Update to 5.1
+
+* Mon Aug 03 2015 Robert Kuska <rkuska@redhat.com> - 4.1-1
+- Update to 4.1
+
+* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sun May 31 2015 Robert Kuska <rkuska@redhat.com> - 4.0-2
+- Rebuilt
+
+* Wed Apr 01 2015 Robert Kuska <rkuska@redhat.com> - 4.0-1
+- Update to 4.0
+
+* Fri Oct 03 2014 Robert Kuska <rkuska@redhat.com> - 3.3-1
+- Update to 3.3
+
+* Sun Aug 24 2014 Robert Kuska <rkuska@redhat.com> - 3.2-2
+- Add patch for exception check of TypeError
+
+* Sun Aug 24 2014 Robert Kuska <rkuska@redhat.com> - 3.2-1
+- Update to 3.2
+
+* Mon Aug 18 2014 Robert Kuska <rkuska@redhat.com> - 3.1-1
+- Update to 3.1
+
+* Wed Jul 16 2014 Robert Kuska <rkuska@redhat.com> - 2.4-1
+- Update to 2.4
+
+* Mon Jun 30 2014 Robert Kuska <rkuska@redhat.com> - 2.2-1
+- Update to 2.2
+
+* Thu Jun 12 2014 Robert Kuska <rkuska@redhat.com> - 2.0-1
+- Update to 2.0
+
+* Fri Jun 06 2014 Robert Kuska <rkuska@redhat.com> - 1.1-3
+- Make click own its folder
+- Use pythonX_version macros from devel package
+
+* Thu May 29 2014 Robert Kuska <rkuska@redhat.com> - 1.1-2
+- Remove __pycache__ folder from tests
+
+* Mon May 12 2014 Robert Kuska <rkuska@redhat.com> - 1.1-1
+- Update source
+
+* Wed May 07 2014 Robert Kuska <rkuska@redhat.com> - 0.6-1
+- Initial package.