diff --git a/var/spack/repos/builtin/packages/portage/gcc-7.patch b/var/spack/repos/builtin/packages/portage/gcc-7.patch
new file mode 100644
index 0000000000000000000000000000000000000000..fccac1e4c1d4c9092ba8d25c6e4f799f20480e5c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/portage/gcc-7.patch
@@ -0,0 +1,10 @@
+--- portage/portage/interpolate/interpolate_1st_order.h.orig	2019-06-19 13:52:51.930855056 -0600
++++ portage/portage/interpolate/interpolate_1st_order.h	2019-06-19 13:53:05.087946460 -0600
+@@ -13,6 +13,7 @@
+ #include <iostream>
+ #include <utility>
+ #include <vector>
++#include <math.h>
+ 
+ #include "portage/support/portage.h"
+ 
diff --git a/var/spack/repos/builtin/packages/portage/p_lapacke_config.patch b/var/spack/repos/builtin/packages/portage/p_lapacke_config.patch
new file mode 100644
index 0000000000000000000000000000000000000000..aaf7d3a83b1ef7cfb986dd512c6ab5da47bee9c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/portage/p_lapacke_config.patch
@@ -0,0 +1,17 @@
+diff -Naur portage.orig/cinch/cmake/FindLAPACKE.cmake portage/cinch/cmake/FindLAPACKE.cmake
+--- portage.orig/cinch/cmake/FindLAPACKE.cmake   2018-07-27 14:38:17.894800000 -0600
++++ portage/cinch/cmake/FindLAPACKE.cmake        2018-08-01 10:14:59.880569000 -0600
+@@ -13,11 +13,12 @@
+ 
+ find_package(PkgConfig)
+ 
++set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)
+ pkg_check_modules(PC_LAPACKE lapacke)
+ 
+ find_path(LAPACKE_INCLUDE_DIR lapacke.h HINTS ${PC_LAPACKE_NCLUDE_DIRS} PATH_SUFFIXES lapacke)
+ 
+-find_library(LAPACKE_LIBRARY NAMES lapacke ${PC_LAPACKE_LIBRARIES} HINTS ${PC_LAPACKE_LIBRARY_DIRS} )
++find_library(LAPACKE_LIBRARY NAMES lapacke openblas ${PC_LAPACKE_LIBRARIES} HINTS ${PC_LAPACKE_LIBRARY_DIRS} )
+ 
+ find_package(LAPACK)
+ 
diff --git a/var/spack/repos/builtin/packages/portage/package.py b/var/spack/repos/builtin/packages/portage/package.py
index 8d27cde71445b736ad13fc8c315b0ea61d84ee94..b3fd376832fc922f7914db198c820476f6476da9 100644
--- a/var/spack/repos/builtin/packages/portage/package.py
+++ b/var/spack/repos/builtin/packages/portage/package.py
@@ -17,14 +17,23 @@ class Portage(CMakePackage):
 
     # tarballs don't have submodules, so use git tags
     version('develop', branch='master', submodules=True)
+    version('1.2.2', tag='v1.2.2', submodules=True)
     version('1.1.1', tag='v1.1.1', submodules=True)
     version('1.1.0', tag='v1.1.0', submodules=True)
 
+    # fabs() needs math.h for gcc-7, got fixed in
+    # versions above 1.2.2
+    patch('gcc-7.patch', when='@:1.2.2 %gcc@7:')
+    # part of https://github.com/laristra/cinch/commit/f87f848269fac25aa5b8d0bd5d9c9b2d2d6fb0ad
+    # fixed in version above 1.2.2
+    patch('p_lapacke_config.patch', when='@1.2.2')
+
     variant('mpi', default=True, description='Support MPI')
 
     depends_on("cmake@3.1:", type='build')
     depends_on('mpi', when='+mpi')
     depends_on('lapack')
+    depends_on('boost')
 
     def cmake_args(self):
         options = ['-DENABLE_UNIT_TESTS=ON', '-DENABLE_APP_TESTS=ON']