SourceForge: Mirror Mixin (#16112)

* SourceForge: Mirror Mixin

Add a mixing class for direct `CNAME`s to sourceforge mirrors.
Since the main gateway servers are often down, this could reduce
timeouts and fetch errors for sourceforge.net hosted software.

* SourceForge: unspectacular mirror replacement

add mirrors to all sourceforge packages with trivial
download logic.

tested fetch of latest version of each of these packages
with various mirrors before committing.

* SourceForge: xz

the author homepage is chronocially overrun and this is the offical
upload with many mirrors.
This commit is contained in:
Axel Huebl 2020-04-16 21:35:30 -07:00 committed by GitHub
parent e476a9061b
commit abbc47823d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 162 additions and 68 deletions

View file

@ -0,0 +1,40 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import spack.util.url
import spack.package
class SourceforgePackage(spack.package.PackageBase):
"""Mixin that takes care of setting url and mirrors for Sourceforge
packages."""
#: Path of the package in a Sourceforge mirror
sourceforge_mirror_path = None
#: List of Sourceforge mirrors used by Spack
base_mirrors = [
'https://prdownloads.sourceforge.net/',
'https://freefr.dl.sourceforge.net/',
'https://netcologne.dl.sourceforge.net/',
'https://pilotfiber.dl.sourceforge.net/',
'https://downloads.sourceforge.net/',
'http://kent.dl.sourceforge.net/sourceforge/'
]
@property
def urls(self):
self._ensure_sourceforge_mirror_path_is_set_or_raise()
return [
spack.util.url.join(m, self.sourceforge_mirror_path,
resolve_href=True)
for m in self.base_mirrors
]
def _ensure_sourceforge_mirror_path_is_set_or_raise(self):
if self.sourceforge_mirror_path is None:
cls_name = type(self).__name__
msg = ('{0} must define a `sourceforge_mirror_path` attribute'
' [none defined]')
raise AttributeError(msg.format(cls_name))

View file

@ -31,6 +31,7 @@
from spack.build_systems.meson import MesonPackage from spack.build_systems.meson import MesonPackage
from spack.build_systems.sip import SIPPackage from spack.build_systems.sip import SIPPackage
from spack.build_systems.gnu import GNUMirrorPackage from spack.build_systems.gnu import GNUMirrorPackage
from spack.build_systems.sourceforge import SourceforgePackage
from spack.build_systems.sourceware import SourcewarePackage from spack.build_systems.sourceware import SourcewarePackage
from spack.build_systems.xorg import XorgPackage from spack.build_systems.xorg import XorgPackage

View file

@ -244,6 +244,29 @@ def test_define(self):
'make/make-4.2.1.tar.gz' 'make/make-4.2.1.tar.gz'
@pytest.mark.usefixtures('config', 'mock_packages')
class TestSourceforgePackage(object):
def test_define(self):
s = Spec('mirror-sourceforge')
s.concretize()
pkg = spack.repo.get(s)
s = Spec('mirror-sourceforge-broken')
s.concretize()
pkg_broken = spack.repo.get(s)
cls_name = type(pkg_broken).__name__
with pytest.raises(AttributeError,
match=r'{0} must define a `sourceforge_mirror_path`'
r' attribute \[none defined\]'
.format(cls_name)):
pkg_broken.urls
assert pkg.urls[0] == 'https://prdownloads.sourceforge.net/' \
'tcl/tcl8.6.5-src.tar.gz'
@pytest.mark.usefixtures('config', 'mock_packages') @pytest.mark.usefixtures('config', 'mock_packages')
class TestSourcewarePackage(object): class TestSourcewarePackage(object):

View file

@ -0,0 +1,15 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class MirrorSourceforgeBroken(AutotoolsPackage, SourceforgePackage):
"""Simple sourceforge.net package"""
homepage = "http://www.tcl.tk"
url = "http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz"
version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a')

View file

@ -0,0 +1,15 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class MirrorSourceforge(AutotoolsPackage, SourceforgePackage):
"""Simple sourceforge.net package"""
homepage = "http://www.tcl.tk"
sourceforge_mirror_path = "tcl/tcl8.6.5-src.tar.gz"
version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class Bbmap(Package): class Bbmap(Package, SourceforgePackage):
"""Short read aligner for DNA and RNA-seq data.""" """Short read aligner for DNA and RNA-seq data."""
homepage = "http://sourceforge.net/projects/bbmap/" homepage = "http://sourceforge.net/projects/bbmap/"
url = "https://downloads.sourceforge.net/project/bbmap/BBMap_38.63.tar.gz" sourceforge_mirror_path = "bbmap/BBMap_38.63.tar.gz"
version('38.63', sha256='089064104526c8d696164aefa067f935b888bc71ef95527c72a98c17ee90a01f') version('38.63', sha256='089064104526c8d696164aefa067f935b888bc71ef95527c72a98c17ee90a01f')
version('37.36', sha256='befe76d7d6f3d0f0cd79b8a01004a2283bdc0b5ab21b0743e9dbde7c7d79e8a9') version('37.36', sha256='befe76d7d6f3d0f0cd79b8a01004a2283bdc0b5ab21b0743e9dbde7c7d79e8a9')

View file

@ -7,12 +7,12 @@
from os import symlink from os import symlink
class Bridger(MakefilePackage): class Bridger(MakefilePackage, SourceforgePackage):
"""Bridger : An Efficient De novo Transcriptome Assembler For """Bridger : An Efficient De novo Transcriptome Assembler For
RNA-Seq Data""" RNA-Seq Data"""
homepage = "https://sourceforge.net/projects/rnaseqassembly/" homepage = "https://sourceforge.net/projects/rnaseqassembly/"
url = "https://downloads.sourceforge.net/project/rnaseqassembly/Bridger_r2014-12-01.tar.gz" sourceforge_mirror_path = "rnaseqassembly/Bridger_r2014-12-01.tar.gz"
version('2014-12-01', sha256='8fbec8603ea8ad2162cbd0c658e4e0a4af6453bdb53310b4b7e0d112e40b5737') version('2014-12-01', sha256='8fbec8603ea8ad2162cbd0c658e4e0a4af6453bdb53310b4b7e0d112e40b5737')

View file

@ -6,12 +6,12 @@
from spack import * from spack import *
class Freeglut(CMakePackage): class Freeglut(CMakePackage, SourceforgePackage):
"""FreeGLUT is a free-software/open-source alternative to the OpenGL """FreeGLUT is a free-software/open-source alternative to the OpenGL
Utility Toolkit (GLUT) library""" Utility Toolkit (GLUT) library"""
homepage = "http://freeglut.sourceforge.net/" homepage = "http://freeglut.sourceforge.net/"
url = "http://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz" sourceforge_mirror_path = "freeglut/freeglut-3.0.0.tar.gz"
version('3.0.0', sha256='2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2') version('3.0.0', sha256='2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2')

View file

@ -6,12 +6,12 @@
from spack import * from spack import *
class Giflib(AutotoolsPackage): class Giflib(AutotoolsPackage, SourceforgePackage):
"""The GIFLIB project maintains the giflib service library, which has """The GIFLIB project maintains the giflib service library, which has
been pulling images out of GIFs since 1989.""" been pulling images out of GIFs since 1989."""
homepage = "http://giflib.sourceforge.net/" homepage = "http://giflib.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/giflib/giflib-5.1.4.tar.bz2" sourceforge_mirror_path = "giflib/giflib-5.1.4.tar.bz2"
version('5.1.4', sha256='df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5') version('5.1.4', sha256='df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5')

View file

@ -5,14 +5,14 @@
from spack import * from spack import *
class Imlib2(AutotoolsPackage): class Imlib2(AutotoolsPackage, SourceforgePackage):
""" """
Library that does image file loading and saving as well as rendering, Library that does image file loading and saving as well as rendering,
manipulation, arbitrary polygon support manipulation, arbitrary polygon support
""" """
homepage = "http://sourceforge.net/projects/enlightenment/" homepage = "http://sourceforge.net/projects/enlightenment/"
url = "http://downloads.sourceforge.net/enlightenment/imlib2-1.5.1.tar.bz2" sourceforge_mirror_path = "enlightenment/imlib2-1.5.1.tar.bz2"
maintainers = ['TheQueasle'] maintainers = ['TheQueasle']

View file

@ -6,12 +6,12 @@
from spack import * from spack import *
class Iperf2(AutotoolsPackage): class Iperf2(AutotoolsPackage, SourceforgePackage):
"""This code is a continuation based from the no longer maintained iperf """This code is a continuation based from the no longer maintained iperf
2.0.5 code base. Iperf 2.0.5 is still widely deployed and used by many for 2.0.5 code base. Iperf 2.0.5 is still widely deployed and used by many for
testing networks and for qualifying networking products.""" testing networks and for qualifying networking products."""
homepage = "https://sourceforge.net/projects/iperf2" homepage = "https://sourceforge.net/projects/iperf2"
url = "https://downloads.sourceforge.net/project/iperf2/iperf-2.0.12.tar.gz" sourceforge_mirror_path = "iperf2/iperf-2.0.12.tar.gz"
version('2.0.12', sha256='367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646') version('2.0.12', sha256='367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646')

View file

@ -6,14 +6,14 @@
from spack import * from spack import *
class KaksCalculator(MakefilePackage): class KaksCalculator(MakefilePackage, SourceforgePackage):
"""KaKs_Calculator adopts model selection and model averaging to calculate """KaKs_Calculator adopts model selection and model averaging to calculate
nonsynonymous (Ka) and synonymous (Ks) substitution rates, attempting to nonsynonymous (Ka) and synonymous (Ks) substitution rates, attempting to
include as many features as needed for accurately capturing evolutionary include as many features as needed for accurately capturing evolutionary
information in protein-coding sequences.""" information in protein-coding sequences."""
homepage = "https://sourceforge.net/projects/kakscalculator2" homepage = "https://sourceforge.net/projects/kakscalculator2"
url = "https://downloads.sourceforge.net/project/kakscalculator2/KaKs_Calculator2.0.tar.gz" sourceforge_mirror_path = "kakscalculator2/KaKs_Calculator2.0.tar.gz"
version('2.0', sha256='e2df719a2fecc549d8ddc4e6d8f5cfa4b248282dca319c1928eaf886d68ec3c5') version('2.0', sha256='e2df719a2fecc549d8ddc4e6d8f5cfa4b248282dca319c1928eaf886d68ec3c5')

View file

@ -7,14 +7,14 @@
from spack import * from spack import *
class Libcerf(AutotoolsPackage): class Libcerf(AutotoolsPackage, SourceforgePackage):
"""A self-contained C library providing complex error functions, based """A self-contained C library providing complex error functions, based
on Faddeeva's plasma dispersion function w(z). Also provides Dawson's on Faddeeva's plasma dispersion function w(z). Also provides Dawson's
integral and Voigt's convolution of a Gaussian and a Lorentzian integral and Voigt's convolution of a Gaussian and a Lorentzian
""" """
homepage = "http://sourceforge.net/projects/libcerf" homepage = "http://sourceforge.net/projects/libcerf"
url = "http://downloads.sourceforge.net/project/libcerf/libcerf-1.3.tgz" sourceforge_mirror_path = "libcerf/libcerf-1.3.tgz"
version('1.3', sha256='d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859') version('1.3', sha256='d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859')

View file

@ -5,11 +5,11 @@
from spack import * from spack import *
class Libexif(AutotoolsPackage): class Libexif(AutotoolsPackage, SourceforgePackage):
"""A library to parse an EXIF file and read the data from those tags""" """A library to parse an EXIF file and read the data from those tags"""
homepage = "https://sourceforge.net/projects/libexif" homepage = "https://sourceforge.net/projects/libexif"
url = "https://downloads.sourceforge.net/sourceforge/libexif/libexif-0.6.21.tar.bz2" sourceforge_mirror_path = "libexif/libexif-0.6.21.tar.bz2"
maintainers = ['TheQueasle'] maintainers = ['TheQueasle']

View file

@ -6,10 +6,10 @@
from spack import * from spack import *
class Libuuid(AutotoolsPackage): class Libuuid(AutotoolsPackage, SourceforgePackage):
"""Portable uuid C library""" """Portable uuid C library"""
homepage = "http://sourceforge.net/projects/libuuid/" homepage = "http://sourceforge.net/projects/libuuid/"
url = "http://downloads.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flibuuid%2F&ts=1433881396&use_mirror=iweb" sourceforge_mirror_path = "libuuid/libuuid-1.0.3.tar.gz"
version('1.0.3', sha256='46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644') version('1.0.3', sha256='46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644')

View file

@ -6,12 +6,12 @@
from spack import * from spack import *
class Meraculous(CMakePackage): class Meraculous(CMakePackage, SourceforgePackage):
"""Meraculous is a while genome assembler for Next Generation Sequencing """Meraculous is a while genome assembler for Next Generation Sequencing
data geared for large genomes.""" data geared for large genomes."""
homepage = "http://jgi.doe.gov/data-and-tools/meraculous/" homepage = "http://jgi.doe.gov/data-and-tools/meraculous/"
url = "https://downloads.sourceforge.net/project/meraculous20/Meraculous-v2.2.4.tar.gz" sourceforge_mirror_path = "meraculous20/Meraculous-v2.2.4.tar.gz"
git = "https://bitbucket.org/berkeleylab/genomics-meraculous2.git" git = "https://bitbucket.org/berkeleylab/genomics-meraculous2.git"
version('2.2.5.1', branch='release-2.2.5.1') version('2.2.5.1', branch='release-2.2.5.1')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class Microbiomeutil(MakefilePackage): class Microbiomeutil(MakefilePackage, SourceforgePackage):
"""Microbiome analysis utilities""" """Microbiome analysis utilities"""
homepage = "http://microbiomeutil.sourceforge.net/" homepage = "http://microbiomeutil.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/microbiomeutil/microbiomeutil-r20110519.tgz" sourceforge_mirror_path = "microbiomeutil/microbiomeutil-r20110519.tgz"
version('20110519', sha256='9233de80ea57bfb9e9371cbe7e3bfad2d4a51168fddaf60fa144c4046c80d823') version('20110519', sha256='9233de80ea57bfb9e9371cbe7e3bfad2d4a51168fddaf60fa144c4046c80d823')

View file

@ -6,10 +6,10 @@
from spack import * from spack import *
class Nccmp(Package): class Nccmp(Package, SourceforgePackage):
"""Compare NetCDF Files""" """Compare NetCDF Files"""
homepage = "http://nccmp.sourceforge.net/" homepage = "http://nccmp.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/nccmp/nccmp-1.8.2.0.tar.gz" sourceforge_mirror_path = "nccmp/nccmp-1.8.2.0.tar.gz"
version('1.8.2.0', sha256='7f5dad4e8670568a71f79d2bcebb08d95b875506d3d5faefafe1a8b3afa14f18') version('1.8.2.0', sha256='7f5dad4e8670568a71f79d2bcebb08d95b875506d3d5faefafe1a8b3afa14f18')

View file

@ -6,7 +6,7 @@
from spack import * from spack import *
class Nicstat(MakefilePackage): class Nicstat(MakefilePackage, SourceforgePackage):
""" """
Nicstat is a Solaris and Linux command-line that prints out network Nicstat is a Solaris and Linux command-line that prints out network
statistics for all network interface cards (NICs), including packets, statistics for all network interface cards (NICs), including packets,
@ -14,7 +14,7 @@ class Nicstat(MakefilePackage):
""" """
homepage = "https://github.com/scotte/nicstat" homepage = "https://github.com/scotte/nicstat"
url = "https://jaist.dl.sourceforge.net/project/nicstat/nicstat-1.95.tar.gz" sourceforge_mirror_path = "nicstat/nicstat-1.95.tar.gz"
version('1.95', sha256='c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367') version('1.95', sha256='c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class OctaveOptim(OctavePackage): class OctaveOptim(OctavePackage, SourceforgePackage):
"""Non-linear optimization toolkit for Octave.""" """Non-linear optimization toolkit for Octave."""
homepage = "https://octave.sourceforge.io/optim/" homepage = "https://octave.sourceforge.io/optim/"
url = "https://downloads.sourceforge.net/octave/optim-1.5.2.tar.gz" sourceforge_mirror_path = "octave/optim-1.5.2.tar.gz"
version('1.5.2', sha256='7b36033c5581559dc3e7616f97d402bc44dde0dfd74c0e3afdf47d452a76dddf') version('1.5.2', sha256='7b36033c5581559dc3e7616f97d402bc44dde0dfd74c0e3afdf47d452a76dddf')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class OctaveSplines(OctavePackage): class OctaveSplines(OctavePackage, SourceforgePackage):
"""Additional spline functions.""" """Additional spline functions."""
homepage = "http://octave.sourceforge.net/splines/index.html" homepage = "http://octave.sourceforge.net/splines/index.html"
url = "http://downloads.sourceforge.net/octave/splines-1.3.1.tar.gz" sourceforge_mirror_path = "octave/splines-1.3.1.tar.gz"
version('1.3.1', sha256='f9665d780c37aa6a6e17d1f424c49bdeedb89d1192319a4e39c08784122d18f9') version('1.3.1', sha256='f9665d780c37aa6a6e17d1f424c49bdeedb89d1192319a4e39c08784122d18f9')
extends('octave@3.6.0:') extends('octave@3.6.0:')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class OctaveStruct(OctavePackage): class OctaveStruct(OctavePackage, SourceforgePackage):
"""Additional structure manipulation functions for Octave.""" """Additional structure manipulation functions for Octave."""
homepage = "https://octave.sourceforge.io/struct/" homepage = "https://octave.sourceforge.io/struct/"
url = "https://downloads.sourceforge.net/octave/struct-1.0.14.tar.gz" sourceforge_mirror_path = "octave/struct-1.0.14.tar.gz"
version('1.0.14', sha256='ad4e17687bc24650f032757271b20b70fe32c35513d4dd9ab1e549919df36b47') version('1.0.14', sha256='ad4e17687bc24650f032757271b20b70fe32c35513d4dd9ab1e549919df36b47')
extends('octave@2.9.7:') extends('octave@2.9.7:')

View file

@ -6,7 +6,7 @@
from spack import * from spack import *
class Optipng(AutotoolsPackage): class Optipng(AutotoolsPackage, SourceforgePackage):
""" """
OptiPNG is a PNG optimizer that recompresses image files to a smaller OptiPNG is a PNG optimizer that recompresses image files to a smaller
size, without losing any information. This program also converts external size, without losing any information. This program also converts external
@ -15,6 +15,6 @@ class Optipng(AutotoolsPackage):
""" """
homepage = "http://optipng.sourceforge.net/" homepage = "http://optipng.sourceforge.net/"
url = "http://prdownloads.sourceforge.net/optipng/optipng-0.7.7.tar.gz" sourceforge_mirror_path = "optipng/optipng-0.7.7.tar.gz"
version('0.7.7', sha256='4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452') version('0.7.7', sha256='4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452')

View file

@ -6,13 +6,13 @@
from spack import * from spack import *
class Pbsuite(Package): class Pbsuite(Package, SourceforgePackage):
"""PBJelly is a highly automated pipeline that aligns long sequencing """PBJelly is a highly automated pipeline that aligns long sequencing
reads (such as PacBio RS reads or long 454 reads in fasta format) reads (such as PacBio RS reads or long 454 reads in fasta format)
to high-confidence draft assembles.""" to high-confidence draft assembles."""
homepage = "https://sourceforge.net/p/pb-jelly/wiki/Home/" homepage = "https://sourceforge.net/p/pb-jelly/wiki/Home/"
url = "https://downloads.sourceforge.net/project/pb-jelly/PBSuite_15.8.24.tgz" sourceforge_mirror_path = "pb-jelly/PBSuite_15.8.24.tgz"
version('15.8.24', sha256='1be082faa62cb3f701c78498db8544c844c3d6d3e3524fecf00a12e82a97e12b') version('15.8.24', sha256='1be082faa62cb3f701c78498db8544c844c3d6d3e3524fecf00a12e82a97e12b')

View file

@ -6,12 +6,12 @@
from spack import * from spack import *
class PyCrossmap(PythonPackage): class PyCrossmap(PythonPackage, SourceforgePackage):
"""CrossMap is a program for convenient conversion of genome coordinates """CrossMap is a program for convenient conversion of genome coordinates
(or annotation files) between different assemblies""" (or annotation files) between different assemblies"""
homepage = "http://crossmap.sourceforge.net/" homepage = "http://crossmap.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/crossmap/CrossMap-0.3.3.tar.gz" sourceforge_mirror_path = "crossmap/CrossMap-0.3.3.tar.gz"
version('0.3.3', sha256='56d99fd606e13e399b83438953d0d89fc281df1c1e8e47eed7d773e7ec9c88f8') version('0.3.3', sha256='56d99fd606e13e399b83438953d0d89fc281df1c1e8e47eed7d773e7ec9c88f8')
version('0.2.9', sha256='57243ee5051352c93088874c797ceac0426f249704ba897360fb628b3365d0af') version('0.2.9', sha256='57243ee5051352c93088874c797ceac0426f249704ba897360fb628b3365d0af')

View file

@ -8,12 +8,12 @@
from spack import * from spack import *
class Qrupdate(MakefilePackage): class Qrupdate(MakefilePackage, SourceforgePackage):
"""qrupdate is a Fortran library for fast updates of QR and """qrupdate is a Fortran library for fast updates of QR and
Cholesky decompositions.""" Cholesky decompositions."""
homepage = "http://sourceforge.net/projects/qrupdate/" homepage = "http://sourceforge.net/projects/qrupdate/"
url = "https://downloads.sourceforge.net/qrupdate/qrupdate-1.1.2.tar.gz" sourceforge_mirror_path = "qrupdate/qrupdate-1.1.2.tar.gz"
version('1.1.2', sha256='e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08') version('1.1.2', sha256='e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class Ray(CMakePackage): class Ray(CMakePackage, SourceforgePackage):
"""Parallel genome assemblies for parallel DNA sequencing""" """Parallel genome assemblies for parallel DNA sequencing"""
homepage = "http://denovoassembler.sourceforge.net/" homepage = "http://denovoassembler.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/denovoassembler/Ray-2.3.1.tar.bz2" sourceforge_mirror_path = "denovoassembler/Ray-2.3.1.tar.bz2"
version('2.3.1', sha256='3122edcdf97272af3014f959eab9a0f0e5a02c8ffc897d842b06b06ccd748036') version('2.3.1', sha256='3122edcdf97272af3014f959eab9a0f0e5a02c8ffc897d842b06b06ccd748036')

View file

@ -6,13 +6,13 @@
from spack import * from spack import *
class RdpClassifier(Package): class RdpClassifier(Package, SourceforgePackage):
"""The RDP Classifier is a naive Bayesian classifier that can rapidly and """The RDP Classifier is a naive Bayesian classifier that can rapidly and
accurately provides taxonomic assignments from domain to genus, with accurately provides taxonomic assignments from domain to genus, with
confidence estimates for each assignment. """ confidence estimates for each assignment. """
homepage = "http://rdp.cme.msu.edu/" homepage = "http://rdp.cme.msu.edu/"
url = "https://downloads.sourceforge.net/project/rdp-classifier/rdp-classifier/rdp_classifier_2.12.zip" sourceforge_mirror_path = "rdp-classifier/rdp_classifier_2.12.zip"
version('2.12', sha256='977896248189a1ce2146dd3a61d203c3c6bc9aa3982c60332d463832922f7d0a') version('2.12', sha256='977896248189a1ce2146dd3a61d203c3c6bc9aa3982c60332d463832922f7d0a')

View file

@ -5,7 +5,7 @@
from spack import * from spack import *
class SagaGis(AutotoolsPackage): class SagaGis(AutotoolsPackage, SourceforgePackage):
""" """
SAGA is a GIS for Automated Geoscientific Analyses and has been designed SAGA is a GIS for Automated Geoscientific Analyses and has been designed
for an easy and effective implementation of spatial algorithms. It offers for an easy and effective implementation of spatial algorithms. It offers
@ -13,7 +13,7 @@ class SagaGis(AutotoolsPackage):
easily approachable user interface with many visualisation options easily approachable user interface with many visualisation options
""" """
homepage = "http://saga-gis.org/" homepage = "http://saga-gis.org/"
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%205/SAGA%20-%205.0.0/saga-5.0.0.tar.gz" sourceforge_mirror_path = "SAGA%20-%205.0.0/saga-5.0.0.tar.gz"
git = "git://git.code.sf.net/p/saga-gis/code" git = "git://git.code.sf.net/p/saga-gis/code"
version('develop', branch='master') version('develop', branch='master')

View file

@ -6,14 +6,14 @@
from spack import * from spack import *
class Scalpel(MakefilePackage): class Scalpel(MakefilePackage, SourceforgePackage):
"""Scalpel is a software package for detecting INDELs (INsertions and """Scalpel is a software package for detecting INDELs (INsertions and
DELetions) mutations in a reference genome which has been sequenced DELetions) mutations in a reference genome which has been sequenced
with next-generation sequencing technology. with next-generation sequencing technology.
""" """
homepage = "http://scalpel.sourceforge.net/index.html" homepage = "http://scalpel.sourceforge.net/index.html"
url = "https://downloads.sourceforge.net/project/scalpel/scalpel-0.5.4.tar.gz" sourceforge_mirror_path = "scalpel/scalpel-0.5.4.tar.gz"
version('0.5.4', sha256='506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0') version('0.5.4', sha256='506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0')
version('0.5.3', sha256='d45b569fe3aa5934883bc7216c243d53168351c23e020d96a46fa77a1563b65e') version('0.5.3', sha256='d45b569fe3aa5934883bc7216c243d53168351c23e020d96a46fa77a1563b65e')

View file

@ -6,10 +6,10 @@
from spack import * from spack import *
class Smalt(AutotoolsPackage): class Smalt(AutotoolsPackage, SourceforgePackage):
"""SMALT aligns DNA sequencing reads with a reference genome.""" """SMALT aligns DNA sequencing reads with a reference genome."""
homepage = "http://www.sanger.ac.uk/science/tools/smalt-0" homepage = "http://www.sanger.ac.uk/science/tools/smalt-0"
url = "https://downloads.sourceforge.net/project/smalt/smalt-0.7.6.tar.gz" sourceforge_mirror_path = "smalt/smalt-0.7.6.tar.gz"
version('0.7.6', sha256='89ccdfe471edba3577b43de9ebfdaedb5cd6e26b02bf4000c554253433796b31') version('0.7.6', sha256='89ccdfe471edba3577b43de9ebfdaedb5cd6e26b02bf4000c554253433796b31')

View file

@ -7,13 +7,13 @@
import os.path import os.path
class Snpeff(Package): class Snpeff(Package, SourceforgePackage):
"""SnpEff is a variant annotation and effect prediction tool. It """SnpEff is a variant annotation and effect prediction tool. It
annotates and predicts the effects of genetic variants (such as annotates and predicts the effects of genetic variants (such as
amino acid changes).""" amino acid changes)."""
homepage = "http://snpeff.sourceforge.net/" homepage = "http://snpeff.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/snpeff/snpEff_latest_core.zip" sourceforge_mirror_path = "snpeff/snpEff_latest_core.zip"
version('2017-11-24', sha256='d55a7389a78312947c1e7dadf5e6897b42d3c6e942e7c1b8ec68bb35d2ae2244') version('2017-11-24', sha256='d55a7389a78312947c1e7dadf5e6897b42d3c6e942e7c1b8ec68bb35d2ae2244')

View file

@ -9,7 +9,7 @@
from spack import * from spack import *
class Swig(AutotoolsPackage): class Swig(AutotoolsPackage, SourceforgePackage):
"""SWIG is an interface compiler that connects programs written in """SWIG is an interface compiler that connects programs written in
C and C++ with scripting languages such as Perl, Python, Ruby, C and C++ with scripting languages such as Perl, Python, Ruby,
and Tcl. It works by taking the declarations found in C/C++ and Tcl. It works by taking the declarations found in C/C++
@ -20,7 +20,7 @@ class Swig(AutotoolsPackage):
application.""" application."""
homepage = "http://www.swig.org" homepage = "http://www.swig.org"
url = "http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz" sourceforge_mirror_path = "swig/swig-3.0.12.tar.gz"
version('master', git='https://github.com/swig/swig.git') version('master', git='https://github.com/swig/swig.git')
version('4.0.1', sha256='7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9') version('4.0.1', sha256='7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9')

View file

@ -9,7 +9,7 @@
from spack import * from spack import *
class Tcl(AutotoolsPackage): class Tcl(AutotoolsPackage, SourceforgePackage):
"""Tcl (Tool Command Language) is a very powerful but easy to """Tcl (Tool Command Language) is a very powerful but easy to
learn dynamic programming language, suitable for a very wide learn dynamic programming language, suitable for a very wide
range of uses, including web and desktop applications, range of uses, including web and desktop applications,
@ -18,7 +18,7 @@ class Tcl(AutotoolsPackage):
that is truly cross platform, easily deployed and highly that is truly cross platform, easily deployed and highly
extensible.""" extensible."""
homepage = "http://www.tcl.tk" homepage = "http://www.tcl.tk"
url = "http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz" sourceforge_mirror_path = "tcl/tcl8.6.5-src.tar.gz"
version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a') version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a')
version('8.6.6', sha256='a265409781e4b3edcc4ef822533071b34c3dc6790b893963809b9fe221befe07') version('8.6.6', sha256='a265409781e4b3edcc4ef822533071b34c3dc6790b893963809b9fe221befe07')

View file

@ -6,11 +6,11 @@
from spack import * from spack import *
class Tclap(AutotoolsPackage): class Tclap(AutotoolsPackage, SourceforgePackage):
"""Templatized C++ Command Line Parser""" """Templatized C++ Command Line Parser"""
homepage = "http://tclap.sourceforge.net" homepage = "http://tclap.sourceforge.net"
url = "https://downloads.sourceforge.net/project/tclap/tclap-1.2.2.tar.gz" sourceforge_mirror_path = "tclap/tclap-1.2.2.tar.gz"
version('1.2.2', sha256='f5013be7fcaafc69ba0ce2d1710f693f61e9c336b6292ae4f57554f59fde5837') version('1.2.2', sha256='f5013be7fcaafc69ba0ce2d1710f693f61e9c336b6292ae4f57554f59fde5837')
version('1.2.1', sha256='9f9f0fe3719e8a89d79b6ca30cf2d16620fba3db5b9610f9b51dd2cd033deebb') version('1.2.1', sha256='9f9f0fe3719e8a89d79b6ca30cf2d16620fba3db5b9610f9b51dd2cd033deebb')

View file

@ -7,7 +7,7 @@
import os import os
class Tk(AutotoolsPackage): class Tk(AutotoolsPackage, SourceforgePackage):
"""Tk is a graphical user interface toolkit that takes developing """Tk is a graphical user interface toolkit that takes developing
desktop applications to a higher level than conventional desktop applications to a higher level than conventional
approaches. Tk is the standard GUI not only for Tcl, but for approaches. Tk is the standard GUI not only for Tcl, but for
@ -15,7 +15,7 @@ class Tk(AutotoolsPackage):
applications that run unchanged across Windows, Mac OS X, Linux applications that run unchanged across Windows, Mac OS X, Linux
and more.""" and more."""
homepage = "http://www.tcl.tk" homepage = "http://www.tcl.tk"
url = "http://prdownloads.sourceforge.net/tcl/tk8.6.5-src.tar.gz" sourceforge_mirror_path = "tcl/tk8.6.5-src.tar.gz"
version('8.6.8', sha256='49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33') version('8.6.8', sha256='49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33')
version('8.6.6', sha256='d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d') version('8.6.6', sha256='d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d')

View file

@ -6,13 +6,13 @@
from spack import * from spack import *
class Wxpropgrid(Package): class Wxpropgrid(Package, SourceforgePackage):
"""wxPropertyGrid is a property sheet control for wxWidgets. In """wxPropertyGrid is a property sheet control for wxWidgets. In
other words, it is a specialized two-column grid for editing other words, it is a specialized two-column grid for editing
properties such as strings, numbers, flagsets, string arrays, properties such as strings, numbers, flagsets, string arrays,
and colours.""" and colours."""
homepage = "http://wxpropgrid.sourceforge.net/" homepage = "http://wxpropgrid.sourceforge.net/"
url = "http://prdownloads.sourceforge.net/wxpropgrid/wxpropgrid-1.4.15-src.tar.gz" sourceforge_mirror_path = "wxpropgrid/wxpropgrid-1.4.15-src.tar.gz"
version('1.4.15', sha256='f0c9a86656828f592c8e57d2c89401f07f0af6a45b17bbca3990e8d29121c2b8') version('1.4.15', sha256='f0c9a86656828f592c8e57d2c89401f07f0af6a45b17bbca3990e8d29121c2b8')

View file

@ -6,12 +6,12 @@
from spack import * from spack import *
class Xqilla(AutotoolsPackage): class Xqilla(AutotoolsPackage, SourceforgePackage):
"""XQilla is an XQuery and XPath 2 library and command line utility """XQilla is an XQuery and XPath 2 library and command line utility
written in C++, implemented on top of the Xerces-C library.""" written in C++, implemented on top of the Xerces-C library."""
homepage = "http://xqilla.sourceforge.net/HomePage" homepage = "http://xqilla.sourceforge.net/HomePage"
url = "https://downloads.sourceforge.net/project/xqilla/XQilla-2.3.3.tar.gz" sourceforge_mirror_path = "xqilla/XQilla-2.3.3.tar.gz"
version('2.3.3', sha256='8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6') version('2.3.3', sha256='8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6')

View file

@ -6,14 +6,14 @@
from spack import * from spack import *
class Xz(AutotoolsPackage): class Xz(AutotoolsPackage, SourceforgePackage):
"""XZ Utils is free general-purpose data compression software with """XZ Utils is free general-purpose data compression software with
high compression ratio. XZ Utils were written for POSIX-like systems, high compression ratio. XZ Utils were written for POSIX-like systems,
but also work on some not-so-POSIX systems. XZ Utils are the successor but also work on some not-so-POSIX systems. XZ Utils are the successor
to LZMA Utils.""" to LZMA Utils."""
homepage = "http://tukaani.org/xz/" homepage = "http://tukaani.org/xz/"
url = "http://tukaani.org/xz/xz-5.2.5.tar.bz2" sourceforge_mirror_path = "lzmautils/files/xz-5.2.5.tar.bz2"
list_url = "http://tukaani.org/xz/old.html" list_url = "http://tukaani.org/xz/old.html"
version('5.2.5', sha256='5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df') version('5.2.5', sha256='5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df')