-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Wild and Crazy URLs #1757
Copy link
Copy link
Closed
Labels
Description
Hello friends!
Spack has trouble recognizing this url as a tar.gz file:
http://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz.v2.0.5
It says it "cannot deduce" the filetype. That phrase led me here: lib/spack/spack/url.py:164
It looks like url.download_file_extension enforces some sanity around the extension. My question is, what is my best bet for dealing with packages that have uncivilized extensions like ".tgz.v2.0.5"? Is it appropriate to look for tgz near the end of the path? That's sortof a weird criterion...
Anyhow, feedback is welcome. Here is a reproducer package:
from spack import *
class WgribCrazyUrl(Package):
"""WGRIB is a program to manipulate, inventory and decode GRIB files"""
homepage = "http://www.cpc.ncep.noaa.gov/products/wesley/wgrib.html"
url = "http://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz.v2.0.5"
version('2.0.5', '84029e969b5b37e1ba791d0572895133')
parallel = False
def install(self, spec, prefix):
gmake("FC=fcc CC=cc")
install_tree('bin', prefix.bin)
install_tree('lib', prefix.lib)
install_tree('include', prefix.include)
install_tree('man/man1', prefix.share_man1)
install('wgrib2/wgrib2', prefix.bin)Reactions are currently unavailable