SourceforgePackage is a
mixin-class. It automatically
sets the URL based on a list of Sourceforge mirrors listed in
sourceforge_mirror_path, which defaults to a half dozen known mirrors.
Refer to the package source
(https://github.com/spack/spack/blob/develop/lib/spack/spack/build_systems/sourceforge.py) for the current list of mirrors used by Spack.
This package provides a method for populating mirror URLs.
This method returns a list of possible URLs for package source. It is decorated with property so its results are treated as a package attribute.
Refer to https://spack.readthedocs.io/en/latest/packaging_guide.html#mirrors-of-the-main-url for information on how Spack uses the urls attribute during fetching.
This helper package can be added to your package by adding it as a base class of your package and defining the relative location of an archive file for one version of your software.
class MyPackage(AutotoolsPackage, SourceforgePackage): ... sourceforge_mirror_path = "my-package/mypackage.1.0.0.tar.gz" ...
Over 40 packages are using
SourceforcePackage this mix-in as of
July 2022 so there are multiple packages to choose from if you want
to see a real example.