diff --git a/lib/spack/spack/util/compression.py b/lib/spack/spack/util/compression.py index a67576bd5083a3150c1381f98803e7dfc92b47dd..b4db266fd3a9199ad95228085df0c3530a61e4f4 100644 --- a/lib/spack/spack/util/compression.py +++ b/lib/spack/spack/util/compression.py @@ -23,6 +23,7 @@ # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## import re +import os from itertools import product from spack.util.executable import which @@ -60,6 +61,11 @@ def strip_extension(path): def extension(path): """Get the archive extension for a path.""" + + # Strip sourceforge suffix. + if re.search(r'((?:sourceforge.net|sf.net)/.*)/download$', path): + path = os.path.dirname(path) + for type in ALLOWED_ARCHIVE_TYPES: suffix = r'\.%s$' % type if re.search(suffix, path):