diff --git a/numba-0.48.0.tar.gz b/numba-0.48.0.tar.gz
deleted file mode 100644
index 74e47b4..0000000
--- a/numba-0.48.0.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017
-size 1976859
diff --git a/numba-0.49.0.tar.gz b/numba-0.49.0.tar.gz
new file mode 100644
index 0000000..cd0c457
--- /dev/null
+++ b/numba-0.49.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9dbef9c738685a624fb0a4e2ec4cc425bed0e1de830d9bafc629bdb55e8df98f
+size 2008626
diff --git a/python-numba.changes b/python-numba.changes
index 393f321..f7ce92e 100644
--- a/python-numba.changes
+++ b/python-numba.changes
@@ -1,3 +1,33 @@
+-------------------------------------------------------------------
+Fri Apr 24 14:07:35 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
+
+- Update to 0.49.0
+  * Removal of all Python 2 related code and also updating the minimum supported
+    Python version to 3.6, the minimum supported NumPy version to 1.15 and the
+    minimum supported SciPy version to 1.0. (Stuart Archibald).
+  * Refactoring of the Numba code base. The code is now organised into submodules
+    by functionality. This cleans up Numba's top level namespace.
+    (Stuart Archibald).
+  * Introduction of an ``ir.Del`` free static single assignment form for Numba's
+    intermediate representation (Siu Kwan Lam and Stuart Archibald).
+  * An OpenMP-like thread masking API has been added for use with code using the
+    parallel CPU backends (Aaron Meurer and Stuart Archibald).
+  * For the CUDA target, all kernel launches now require a configuration, this
+    preventing accidental launches of kernels with the old default of a single
+    thread in a single block. The hard-coded autotuner is also now removed, such
+    tuning is deferred to CUDA API calls that provide the same functionality
+    (Graham Markall).
+  * The CUDA target also gained an External Memory Management plugin interface to
+    allow Numba to use another CUDA-aware library for all memory allocations and
+    deallocations (Graham Markall).
+  * The Numba Typed List container gained support for construction from iterables
+    (Valentin Haenel).
+  * Experimental support was added for first-class function types
+    (Pearu Peterson).
+- Refreshed patch skip-failing-tests.patch 
+  * the troublesome tests are skipped upstream on 32-bit
+- Unpin llvmlite
+
 -------------------------------------------------------------------
 Mon Apr  6 07:56:16 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
 
diff --git a/python-numba.spec b/python-numba.spec
index 18a155b..23dafe0 100644
--- a/python-numba.spec
+++ b/python-numba.spec
@@ -27,7 +27,7 @@
 %bcond_with test
 %endif
 Name:           python-numba%{psuffix}
-Version:        0.48.0
+Version:        0.49.0
 Release:        0
 Summary:        NumPy-aware optimizing compiler for Python using LLVM
 License:        BSD-2-Clause
@@ -36,23 +36,8 @@ Source:         https://files.pythonhosted.org/packages/source/n/numba/numba-%{v
 Patch0:         skip-failing-tests.patch
 # PATCH-FIX-UPSTREAM fix-max-name-size.patch -- fix for gh#numba/numba#3876 -- from gh#numba/numba#4373
 Patch1:         fix-max-name-size.patch
-%if %{with test}
-BuildRequires:  %{python_module Jinja2}
-BuildRequires:  %{python_module PyYAML}
-BuildRequires:  %{python_module Pygments}
-BuildRequires:  %{python_module cffi}
 BuildRequires:  %{python_module devel}
-BuildRequires:  %{python_module ipython}
-BuildRequires:  %{python_module llvmlite >= 0.31}
-BuildRequires:  %{python_module numba >= %{version}}
-BuildRequires:  %{python_module numba-devel >= %{version}}
-BuildRequires:  %{python_module numpy-devel >= 1.11}
-BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module scipy >= 0.16}
-BuildRequires:  %{python_module tbb}
-%endif
-BuildRequires:  %{python_module devel}
-BuildRequires:  %{python_module numpy-devel >= 1.11}
+BuildRequires:  %{python_module numpy-devel >= 1.15}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
@@ -67,6 +52,19 @@ Recommends:     python-Jinja2
 Recommends:     python-Pygments
 Recommends:     python-cffi
 Recommends:     python-tbb
+%if %{with test}
+BuildRequires:  %{python_module Jinja2}
+BuildRequires:  %{python_module PyYAML}
+BuildRequires:  %{python_module Pygments}
+BuildRequires:  %{python_module cffi}
+BuildRequires:  %{python_module ipython}
+BuildRequires:  %{python_module llvmlite >= 0.31}
+BuildRequires:  %{python_module numba >= %{version}}
+BuildRequires:  %{python_module numba-devel >= %{version}}
+BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module scipy >= 0.16}
+BuildRequires:  %{python_module tbb}
+%endif
 %python_subpackages
 
 %description
@@ -113,6 +111,8 @@ rm numba/tests/test_hashing.py
 rm numba/tests/test_typedlist.py
 # as we reduced the amount of tests:
 sed -i -e 's:5000:3000:' numba/tests/test_runtests.py
+# unpin llvmlite since it screws up dependencies
+sed -i 's/,<={max_llvmlite_version}//' setup.py
 
 %build
 export CFLAGS="%{optflags} -fPIC"
@@ -147,7 +147,7 @@ mv numba_temp numba
 
 %files %{python_files}
 %license LICENSE
-%doc AUTHORS CHANGE_LOG README.rst
+%doc CHANGE_LOG README.rst
 %python_alternative %{_bindir}/numba
 %python_alternative %{_bindir}/pycc
 %{python_sitearch}/numba/
diff --git a/skip-failing-tests.patch b/skip-failing-tests.patch
index d51a174..20761ad 100644
--- a/skip-failing-tests.patch
+++ b/skip-failing-tests.patch
@@ -1,36 +1,43 @@
-Index: numba-0.48.0/numba/tests/test_runtests.py
+Index: numba-0.49.0/numba/tests/test_parfors.py
 ===================================================================
---- numba-0.48.0.orig/numba/tests/test_runtests.py
-+++ numba-0.48.0/numba/tests/test_runtests.py
-@@ -76,8 +76,7 @@ class TestCase(unittest.TestCase):
-     def test_subpackage(self):
-         self.check_testsuite_size(['numba.tests.npyufunc'], 50)
- 
--    @unittest.skipIf(sys.version_info < (3, 4),
--                     "'--random' only supported on Python 3.4 or higher")
-+    @unittest.skip("Somehow doesn't work with the current version of NumPy")
-     def test_random(self):
-         self.check_testsuite_size(
-             ['--random', '0.1', 'numba.tests.npyufunc'], 5)
-Index: numba-0.48.0/numba/tests/test_parfors.py
-===================================================================
---- numba-0.48.0.orig/numba/tests/test_parfors.py
-+++ numba-0.48.0/numba/tests/test_parfors.py
-@@ -544,7 +544,7 @@ class TestParfors(TestParforsBase):
-         self.check(test_impl)
-         self.assertTrue(countParfors(test_impl, ()) == 1)
- 
--    @skip_unsupported
-+    @unittest.skip("This will fail with system llvm and LTO")
-     @tag('important')
-     def test_pi(self):
-         def test_impl(n):
-@@ -1521,7 +1521,7 @@ class TestParfors(TestParforsBase):
+--- numba-0.49.0.orig/numba/tests/test_parfors.py
++++ numba-0.49.0/numba/tests/test_parfors.py
+@@ -1505,7 +1505,7 @@ class TestParfors(TestParforsBase):
          msg = ("The reshape API may only include one negative argument.")
          self.assertIn(msg, str(raised.exception))
  
--    @skip_unsupported
+-    @skip_parfors_unsupported
 +    @unittest.skip("Fails on type check in OBS")
      def test_ndarray_fill(self):
          def test_impl(x):
              x.fill(7.0)
+@@ -2541,7 +2541,7 @@ class TestParforsVectorizer(TestPrangeBa
+     # to check vsqrtpd operates on zmm
+     match_vsqrtpd_on_zmm = re.compile('\n\s+vsqrtpd\s+.*zmm.*\n')
+ 
+-    @linux_only
++    @unittest.skip("Our x86_64 asm is most probably different from the Travis one.")
+     def test_vectorizer_fastmath_asm(self):
+         """ This checks that if fastmath is set and the underlying hardware
+         is suitable, and the function supplied is amenable to fastmath based
+@@ -2584,7 +2584,7 @@ class TestParforsVectorizer(TestPrangeBa
+             # check no zmm addressing is present
+             self.assertTrue('zmm' not in v)
+ 
+-    @linux_only
++    @unittest.skip("Our x86_64 asm is most probably different from the Travis one.")
+     def test_unsigned_refusal_to_vectorize(self):
+         """ This checks that if fastmath is set and the underlying hardware
+         is suitable, and the function supplied is amenable to fastmath based
+Index: numba-0.49.0/numba/tests/test_parfors_passes.py
+===================================================================
+--- numba-0.49.0.orig/numba/tests/test_parfors_passes.py
++++ numba-0.49.0/numba/tests/test_parfors_passes.py
+@@ -512,6 +512,7 @@ class TestConvertLoopPass(BaseTest):
+             str(raises.exception),
+         )
+ 
++    @unittest.skip("Fails on type check in OBS")
+     def test_init_prange(self):
+         def test_impl():
+             n = 20