diff --git a/packages/biobb-common/package.py b/packages/biobb-common/package.py
index 2bb4d1fd70bc7a8d916185affe609b8cd4a839cf..6a5aa81ff00a3327a0e5cd519bde6a48e70824fc 100644
--- a/packages/biobb-common/package.py
+++ b/packages/biobb-common/package.py
@@ -19,8 +19,8 @@ class BiobbCommon(PythonPackage):
     version('3.8.1', sha256='b6c939c1445ea2f8282e491e0414cc15f4934466ca24ecd77e24cef2e7df49e4')
 
     # Dependencies
-    depends_on('py-setuptools')
-    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('python@3.8:')
+    depends_on('py-setuptools', type=('build'))
     depends_on('py-pyyaml', type=('build', 'run'))
     depends_on('py-requests', type=('build', 'run'))
     depends_on('py-biopython@1.78:1.80', type=('build', 'run'))
diff --git a/packages/biobb-gromacs/package.py b/packages/biobb-gromacs/package.py
index 16f643c7e5b427bc02e976fb1743658186209880..c99d49af3ab3f472c62f07d8a1057ab24e22df8a 100644
--- a/packages/biobb-gromacs/package.py
+++ b/packages/biobb-gromacs/package.py
@@ -20,6 +20,7 @@ class BiobbGromacs(PythonPackage):
     version('3.8.1', sha256='6da49b691b14a8bcf7ffca08c898fe9affd258ca2f8c7be4981df840a6907efa')
 
     # Dependencies
-    depends_on('python@3.8:',type=('build', 'run'))
+    depends_on('python@3.8:')
+    depends_on('py-setuptools', type=('build'))
     depends_on('biobb-common@3.8.1', type=('build', 'run'), when='@3.8.1')
     depends_on('gromacs')
diff --git a/packages/py-efel/package.py b/packages/py-efel/package.py
index 091bf110491cfc52f5fb86b70302d26e9ce63dc0..ac156b16d76417a708ab56bb039d843af1d2a7c5 100644
--- a/packages/py-efel/package.py
+++ b/packages/py-efel/package.py
@@ -17,5 +17,6 @@ class PyEfel(PythonPackage):
     version("4.0.4", sha256="258c506776df609edc799338fd773e78f0f0315fd6f3e2f969478bda401a8894")
 
     depends_on("python@3.6.9:")
+    depends_on("py-setuptools", type=("build"))
     depends_on("py-numpy@1.6:", type=("build", "run"))
     depends_on("py-six",        type=("build", "run"))
diff --git a/packages/py-flask-restx/package.py b/packages/py-flask-restx/package.py
index df6f3888144604b1af1d80f09c7a7382da2ea34d..c0acc68020cee88a77493b4c450621e2781fe2f9 100644
--- a/packages/py-flask-restx/package.py
+++ b/packages/py-flask-restx/package.py
@@ -23,6 +23,7 @@ class PyFlaskRestx(PythonPackage):
 
     # setup_requires
     depends_on('py-pip', type=('build'))
+    depends_on('py-setuptools', type=('build'))
     depends_on('py-flask', type=('build', 'run'))
     depends_on('py-aniso8601', type=('build', 'run'))
     depends_on('py-jsonschema', type=('build', 'run'))
diff --git a/packages/py-hbp-archive/package.py b/packages/py-hbp-archive/package.py
index a96d25e9e7b469a8d0e3d25954867e0456b19a17..c982f390231d4181c3301c6956c0aa03fe4a83b3 100644
--- a/packages/py-hbp-archive/package.py
+++ b/packages/py-hbp-archive/package.py
@@ -18,6 +18,7 @@ class PyHbpArchive(PythonPackage):
     version('1.1.1', sha256='08059d3bcca4dcbc36951c82e75513bc50d8d59f1720a28bebf57a622d869f41')
 
     depends_on('python@3.6.9:')
+    depends_on('py-setuptools',                   type=('build'))
     depends_on('py-lxml@4.6.4:',                  type=('build', 'run'))
     depends_on('py-keystoneauth1@4.3.1:',         type=('build', 'run'))
     depends_on('py-python-keystoneclient@4.2.0:', type=('build', 'run'))
diff --git a/packages/py-hbp-neuromorphic-platform/package.py b/packages/py-hbp-neuromorphic-platform/package.py
index 5956faf60c64d3fbd1a355b0a30fe551edcc0309..ef2ce85f842e01bd7da2291f93564570dff853ea 100644
--- a/packages/py-hbp-neuromorphic-platform/package.py
+++ b/packages/py-hbp-neuromorphic-platform/package.py
@@ -20,6 +20,7 @@ class PyHbpNeuromorphicPlatform(PythonPackage):
     version('0.10.1', sha256='76b3acdbc63c901d158bad6d74e26f8a4ad7b10a261c1d51f1e9bf482766bae7')
     
     depends_on('python@3.5:')
-    depends_on('py-requests@2.20.0:',                   type=('build', 'run'))
-    depends_on('py-click@8.0.3:',                       type=('build', 'run'))
-    depends_on('py-pyyaml@6.0:',                        type=('build', 'run'))
+    depends_on('py-setuptools',       type=('build'))
+    depends_on('py-requests@2.20.0:', type=('build', 'run'))
+    depends_on('py-click@8.0.3:',     type=('build', 'run'))
+    depends_on('py-pyyaml@6.0:',      type=('build', 'run'))
diff --git a/packages/py-hippounit/package.py b/packages/py-hippounit/package.py
index 2ed9e0bfd0f409a48e333b7917890dba922a3836..1564355563303b005d7da223f06a60468bd495a6 100644
--- a/packages/py-hippounit/package.py
+++ b/packages/py-hippounit/package.py
@@ -17,6 +17,7 @@ class PyHippounit(PythonPackage):
     version('1.3.6', sha256='7342f77575b6d223db4194be37ab73f0eb6370844cbefd2f8374b2c7e27d7d15')
 
     depends_on('python@3.6.9:')
-    depends_on('py-future',   type=('build', 'run'))
-    depends_on('py-sciunit@0.2.5.1:',   type=('build', 'run'))
-    depends_on('py-efel@4.0.4:',           type=('build', 'run'))
+    depends_on('py-setuptools',       type=('build'))
+    depends_on('py-future',           type=('build', 'run'))
+    depends_on('py-sciunit@0.2.5.1:', type=('build', 'run'))
+    depends_on('py-efel@4.0.4:',      type=('build', 'run'))
diff --git a/packages/py-mmcif-pdbx/package.py b/packages/py-mmcif-pdbx/package.py
index 7b53dfae39eb590d6bd82b0c06b8e907dec236d8..798e54277c94ef0ba74d0ab63f102db51d444676 100644
--- a/packages/py-mmcif-pdbx/package.py
+++ b/packages/py-mmcif-pdbx/package.py
@@ -24,3 +24,5 @@ class PyMmcifPdbx(PythonPackage):
     maintainers = ['richtesn', 'thielblz']
 
     version('2.0.1', sha256='a1f20cf35f92916160ae066f510cce9a0c21a630d064dafce545ba0cf47c9280')
+
+    depends_on('py-setuptools', type=('build'))
diff --git a/packages/py-morphio/package.py b/packages/py-morphio/package.py
index a2772bd73d12036a719ceac54b88fab0a82e79a3..5aa308c3bdbd90ff882cdf84950d4de5859fc62f 100644
--- a/packages/py-morphio/package.py
+++ b/packages/py-morphio/package.py
@@ -17,5 +17,6 @@ class PyMorphio(PythonPackage):
     version('3.1.1',  sha256='ad9f0e363f09f03c6eda54f5f3b006d204236677d2f2c9675421e0441033a503')
 
     depends_on('python@3.6.9:')
-    depends_on('py-numpy@1.14.1:',      type=('build', 'run'))
-    depends_on('py-h5py@3.0:4.0',       type=('build', 'run'))
+    depends_on('py-setuptools',    type=('build'))
+    depends_on('py-numpy@1.14.1:', type=('build', 'run'))
+    depends_on('py-h5py@3.0:4.0',  type=('build', 'run'))
diff --git a/packages/py-morphounit/package.py b/packages/py-morphounit/package.py
index 0460b9695ddbd4309a32213b95a0ca6b2ac45e25..b9f7c7487c709a75ed76d1d1523276129c9198c0 100644
--- a/packages/py-morphounit/package.py
+++ b/packages/py-morphounit/package.py
@@ -17,9 +17,10 @@ class PyMorphounit(PythonPackage):
     version('1.0.4', sha256='6dacadc91c66c15af91da8c1d45977e4aeaaa297a7bbc2e679f7d6a5e54e6f32')
 
     depends_on('python@3.6.9:')
-    depends_on('py-neo@0.8.0:',            type=('build', 'run'))
-    depends_on('py-elephant@0.4.1:',       type=('build', 'run'))
-    depends_on('py-sciunit@0.2.5.1:',      type=('build', 'run'))
-    depends_on('py-neurom@1.4.10',         type=('build', 'run'))
-    depends_on('py-tabulate@0.8.6:',       type=('build', 'run'))
-    depends_on('py-seaborn@0.10.0:',       type=('build', 'run'))
+    depends_on('py-setuptools',       type=('build'))
+    depends_on('py-neo@0.8.0:',       type=('build', 'run'))
+    depends_on('py-elephant@0.4.1:',  type=('build', 'run'))
+    depends_on('py-sciunit@0.2.5.1:', type=('build', 'run'))
+    depends_on('py-neurom@1.4.10',    type=('build', 'run'))
+    depends_on('py-tabulate@0.8.6:',  type=('build', 'run'))
+    depends_on('py-seaborn@0.10.0:',  type=('build', 'run'))
diff --git a/packages/py-nameparser/package.py b/packages/py-nameparser/package.py
index bb10a68ad4313b0d6f9b3b59c3b097d74b2fb7a8..5832dcd7255aed82195932cb42c23182a2af14c9 100644
--- a/packages/py-nameparser/package.py
+++ b/packages/py-nameparser/package.py
@@ -17,3 +17,4 @@ class PyNameparser(PythonPackage):
     version('1.1.1', sha256='ce8336ed7464fa7b9b8745f48b9c62dea6bed931b99715ca9479360544992143')
 
     depends_on('python@3.6.9:')
+    depends_on('py-setuptools', type=('build'))
diff --git a/packages/py-nested-dict/package.py b/packages/py-nested-dict/package.py
index 9442c3b12597f0a4810e069d2128a17d7acbd9b2..28098a76e54acd83edf329d2b4b398c28b2e6dbd 100644
--- a/packages/py-nested-dict/package.py
+++ b/packages/py-nested-dict/package.py
@@ -13,14 +13,8 @@ class PyNestedDict(PythonPackage):
     pypi     = "nested_dict/nested_dict-1.61.tar.gz"
     git      = "https://github.com/bunbun/nested-dict"
 
-    # FIXME: Add a list of GitHub accounts to
-    # notify when the package is updated.
-    # maintainers = ['terhorstd', 'bunbun']
+    maintainers = ['terhorstd', 'bunbun']
 
     version('1.61', sha256='de0fb5bac82ba7bcc23736f09373f18628ea57f92bbaa13480d23f261c41e771')
 
-    # FIXME: Add a build backend, usually defined in pyproject.toml. If no such file
-    # exists, use setuptools.
-    # depends_on('py-setuptools', type='build')
-    # depends_on('py-flit-core', type='build')
-    # depends_on('py-poetry-core', type='build')
+    depends_on('py-setuptools', type='build')
diff --git a/packages/py-neurom/package.py b/packages/py-neurom/package.py
index 8ad54dea2bf04c9349de2342fd0cd6cda5dbc039..e92de6dd0747d88781a829b6d52151218bdd25d1 100644
--- a/packages/py-neurom/package.py
+++ b/packages/py-neurom/package.py
@@ -18,6 +18,7 @@ class PyNeurom(PythonPackage):
     version('1.4.10', sha256='c94823133bb15b5756c22391e05948871ff77c0212e91ad375903ca437e18aeb')
 
     depends_on('python@3.6.9:')
+    depends_on('py-setuptools',         type=('build'))
     depends_on('py-click@7.0:',         type=('build', 'run'))
     depends_on('py-matplotlib@3.2.1:',  type=('build', 'run'))
     depends_on('py-morphio@3.1.1:',     type=('build', 'run'))
diff --git a/packages/py-pdb2pqr/package.py b/packages/py-pdb2pqr/package.py
index e219a78510ecffa8a7aa0e43025471b95b62c1e6..53ab4405b70f1a22f32e77e2f488849f9a28aace 100644
--- a/packages/py-pdb2pqr/package.py
+++ b/packages/py-pdb2pqr/package.py
@@ -28,6 +28,7 @@ class PyPdb2pqr(PythonPackage):
     version('3.4.1', sha256='9e8cabd984f8e31f010bda0a3e81c87ad93f403d1fd36c787627e5134f7542ba')
 
     depends_on('python@3.8:', type=('build','run'))
+    depends_on('py-setuptools', type=('build'))
     depends_on('py-docutils@:0.18', type=('build','run'))
     depends_on('py-mmcif-pdbx@1.1.2:', type=('build','run'))
     depends_on('py-numpy', type=('build','run'))
diff --git a/packages/py-propka/package.py b/packages/py-propka/package.py
index 13c2dbf3759db8b93f6a41f4194da43f4ca0fffd..e7e5708d3009d3227a1fa21da137e9a53f43e7e3 100644
--- a/packages/py-propka/package.py
+++ b/packages/py-propka/package.py
@@ -27,3 +27,5 @@ class PyPropka(PythonPackage):
     maintainers = ['richtesn', 'thielblz']
 
     version('3.4.0', sha256='f19c2e145faa7eab000ce056a9058b8a30adba6970705047bb4fb7ba7570b020')
+
+    depends_on('py-setuptools', type=('build'))
diff --git a/packages/py-pynn/package.py b/packages/py-pynn/package.py
index 3d5db6325426298d7a02ab0c24be59aa355450b5..03f5a0d2b19f5b9e920a8244ade693956a73b95b 100644
--- a/packages/py-pynn/package.py
+++ b/packages/py-pynn/package.py
@@ -25,6 +25,8 @@ class PyPynn(PythonPackage):
     depends_on('python@2.7:2.8,3.6:', when="@0.9.6")
     depends_on('python@3.7:',         when="@0.10.0:")
 
+    depends_on('py-setuptools',         type=('build'))
+
     depends_on('py-jinja2@2.7:',        type=('build', 'run'))
     depends_on('py-docutils@0.10:',     type=('build', 'run'))
 
diff --git a/packages/py-pyswarms/package.py b/packages/py-pyswarms/package.py
index 15313932920d39578d0584b2bf8ed57adbe919cb..a5712fc4826c30c4ab88851bf4e816f7f18ab7b3 100644
--- a/packages/py-pyswarms/package.py
+++ b/packages/py-pyswarms/package.py
@@ -10,6 +10,7 @@ class PyPyswarms(PythonPackage):
 
     version("1.3.0", sha256="1204aa9c332c662113e3c37d1b109906f4a0859b29ded80c1582dc66387ce34b") 
 
+    depends_on("py-setuptools",         type=("build"))
     depends_on("py-scipy",              type=("build", "run"))
     depends_on("py-numpy",              type=("build", "run"))
     depends_on("py-matplotlib@1.3.1:",  type=("build", "run"))
diff --git a/packages/py-quantities-scidash/package.py b/packages/py-quantities-scidash/package.py
index 1e115c92578e3fc988d61df43ce56abfd2ca5b87..c18a6d47f572600f3c8c8398a199c35df6a5a675 100644
--- a/packages/py-quantities-scidash/package.py
+++ b/packages/py-quantities-scidash/package.py
@@ -17,4 +17,5 @@ class PyQuantitiesScidash(PythonPackage):
     version('0.12.4.3', sha256='c281383b989ae19bfe1526c09e452c82880b633a735f9494d8bb469412a33ea2')
 
     depends_on('python@3.6.9:')
+    depends_on('py-setuptools', type=('build'))
     depends_on('py-numpy@1.19:')
diff --git a/packages/py-sciunit/package.py b/packages/py-sciunit/package.py
index 41b029b36259ba021a1e8cecf136b216b1cc19a3..a90cb0121ab87db3bd8a78dd5dee0049e359df66 100644
--- a/packages/py-sciunit/package.py
+++ b/packages/py-sciunit/package.py
@@ -17,6 +17,7 @@ class PySciunit(PythonPackage):
     version('0.2.5.1', sha256='6148704f92a29c9d6de65ca9455b03ebe1f05101dae5e706aee2186e5a09fab3')
 
     depends_on('python@3.6.9:')
+    depends_on('py-setuptools',                     type=('build'))
     depends_on('py-beautifulsoup4',                 type=('build', 'run'))
     depends_on('py-cerebrus@1.3.4',                 type=('build', 'run'))
     depends_on('py-deepdiff',                       type=('build', 'run'))
diff --git a/packages/py-tvb-data/package.py b/packages/py-tvb-data/package.py
index 3f7dc670efe92d4f1cb761da0b15c508a1069510..c71ba71fe8301cde02b9243182342e2112379059 100644
--- a/packages/py-tvb-data/package.py
+++ b/packages/py-tvb-data/package.py
@@ -24,6 +24,7 @@ class PyTvbData(PythonPackage):
 
     # setup_requires
     depends_on('py-pip', type='build')
+    depends_on('py-setuptools', type=('build'))
 
     # this is only a data holder package, thus no real python code exists inside.
     @run_after('install')