perl-bioperl: add v1.6.924, v1.7.8, deprecate v1.007002, refactor dependeicies, update url (#46213)
* perl-bioperl: add v1.6.924 Signed-off-by: Teague Sterling <teaguesterling@gmail.com> * fix style Signed-off-by: Teague Sterling <teaguesterling@gmail.com> * perl-bioperl: add v1.6.924, v1.7.2, deprecate v1.007002, refactor dependencies Signed-off-by: Teague Sterling <teaguesterling@gmail.com> * perl-bioperl: add v1.7.8 Signed-off-by: Teague Sterling <teaguesterling@gmail.com> * perl-bioperl: update url Signed-off-by: Teague Sterling <teaguesterling@gmail.com> * perl-bioperl: cleanup version urls Signed-off-by: Teague Sterling <teaguesterling@gmail.com> * remove v1.7.2 --------- Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
This commit is contained in:
		@@ -32,87 +32,81 @@ class PerlBioperl(PerlPackage):
 | 
			
		||||
    and contribute your own if possible."""
 | 
			
		||||
 | 
			
		||||
    homepage = "https://metacpan.org/pod/BioPerl"
 | 
			
		||||
    url = "https://cpan.metacpan.org/authors/id/C/CD/CDRAUG/BioPerl-1.7.6.tar.gz"
 | 
			
		||||
    url = "https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-1.7.8.tar.gz"
 | 
			
		||||
 | 
			
		||||
    license("Artistic-1.0")
 | 
			
		||||
 | 
			
		||||
    version("1.7.8", sha256="c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738")
 | 
			
		||||
    version(
 | 
			
		||||
        "1.7.6",
 | 
			
		||||
        sha256="df2a3efc991b9b5d7cc9d038a1452c6dac910c9ad2a0e47e408dd692c111688d",
 | 
			
		||||
        preferred=True,
 | 
			
		||||
        url="https://cpan.metacpan.org/authors/id/C/CD/CDRAUG/BioPerl-1.7.6.tar.gz",
 | 
			
		||||
    )
 | 
			
		||||
    version("1.6.924", sha256="616a7546bb3c58504de27304a0f6cb904e18b6bbcdb6a4ec8454f2bd37bb76d0")
 | 
			
		||||
 | 
			
		||||
    # This is technically the same as 1.7.2, but with a more conventional version number.
 | 
			
		||||
    version(
 | 
			
		||||
        "1.007002",
 | 
			
		||||
        sha256="17aa3aaab2f381bbcaffdc370002eaf28f2c341b538068d6586b2276a76464a1",
 | 
			
		||||
        url="https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-1.007002.tar.gz",
 | 
			
		||||
        deprecated=True,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    depends_on("fortran", type="build")  # generated
 | 
			
		||||
    with default_args(type=("build", "run")):
 | 
			
		||||
        depends_on("perl-data-stag")
 | 
			
		||||
        depends_on("perl-error")
 | 
			
		||||
        depends_on("perl-graph")
 | 
			
		||||
        depends_on("perl-http-message")
 | 
			
		||||
        depends_on("perl-io-string")
 | 
			
		||||
        depends_on("perl-io-stringy")
 | 
			
		||||
        depends_on("perl-ipc-run")
 | 
			
		||||
        depends_on("perl-libwww-perl")
 | 
			
		||||
        depends_on("perl-libxml-perl")
 | 
			
		||||
        depends_on("perl-list-moreutils")
 | 
			
		||||
        depends_on("perl-module-build")
 | 
			
		||||
        depends_on("perl-set-scalar")
 | 
			
		||||
        depends_on("perl-test-most")
 | 
			
		||||
        depends_on("perl-test-requiresinternet")
 | 
			
		||||
        depends_on("perl-uri")
 | 
			
		||||
        depends_on("perl-xml-dom")
 | 
			
		||||
        depends_on("perl-xml-dom-xpath")
 | 
			
		||||
        depends_on("perl-xml-libxml")
 | 
			
		||||
        depends_on("perl-xml-parser")
 | 
			
		||||
        depends_on("perl-xml-sax")
 | 
			
		||||
        depends_on("perl-xml-sax-base")
 | 
			
		||||
        depends_on("perl-xml-sax-writer")
 | 
			
		||||
        depends_on("perl-xml-simple")
 | 
			
		||||
        depends_on("perl-xml-twig")
 | 
			
		||||
        depends_on("perl-yaml")
 | 
			
		||||
 | 
			
		||||
    # According to cpandeps.grinnz.com Module-Build is both a build and run
 | 
			
		||||
    # time dependency for BioPerl
 | 
			
		||||
    depends_on("perl-module-build", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-uri", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-io-string", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-data-stag", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-test-most", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-error", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-graph", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-http-message", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-io-stringy", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-ipc-run", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-list-moreutils", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-set-scalar", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-test-requiresinternet", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-dom", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-dom-xpath", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-libxml", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-sax", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-sax-base", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-sax-writer", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-twig", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-xml-writer", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-yaml", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-libwww-perl", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
    depends_on("perl-libxml-perl", when="@1.7.6:", type=("build", "run"))
 | 
			
		||||
        with when("@:1.7.0"):
 | 
			
		||||
            depends_on("perl-clone")
 | 
			
		||||
            depends_on("perl-db-file")
 | 
			
		||||
            depends_on("perl-dbd-mysql")
 | 
			
		||||
            depends_on("perl-dbd-pg")
 | 
			
		||||
            depends_on("perl-dbd-sqlite")
 | 
			
		||||
            depends_on("perl-dbi")
 | 
			
		||||
            depends_on("perl-gd")
 | 
			
		||||
            depends_on("perl-graphviz")
 | 
			
		||||
            depends_on("perl-scalar-list-utils")
 | 
			
		||||
            depends_on("perl-set-scalar")
 | 
			
		||||
            depends_on("perl-svg")
 | 
			
		||||
 | 
			
		||||
    @when("@1.007002")
 | 
			
		||||
    def configure(self, spec, prefix):
 | 
			
		||||
        # Overriding default configure method in order to cater to interactive
 | 
			
		||||
        # Build.pl
 | 
			
		||||
        self.build_method = "Build.PL"
 | 
			
		||||
        self.build_executable = Executable(join_path(self.stage.source_path, "Build"))
 | 
			
		||||
        # TODO:
 | 
			
		||||
        #     variant("optionaldeps", default=False, description="Add optional dependencies")
 | 
			
		||||
        #        with when("@:1.7.0+optionaldeps"):
 | 
			
		||||
        #            depends_on("perl-sort-naturally")
 | 
			
		||||
        #            depends_on("perl-test-harness")
 | 
			
		||||
        #            depends_on("perl-text-parsewords")
 | 
			
		||||
        #            depends_on("perl-algorithm-munkres")
 | 
			
		||||
        #            depends_on("perl-array-compare")
 | 
			
		||||
        #            depends_on("perl-bio-phylo")
 | 
			
		||||
        #            depends_on("perl-convert-binary-c")
 | 
			
		||||
        #            depends_on("perl-html-entities")
 | 
			
		||||
        #            depends_on("perl-html-headparser")
 | 
			
		||||
        #            depends_on("perl-html-tableextract")
 | 
			
		||||
        #            depends_on("perl-svg-graph")
 | 
			
		||||
 | 
			
		||||
        # Config questions consist of:
 | 
			
		||||
        #    Do you want to run the Bio::DB::GFF or Bio::DB::SeqFeature::Store
 | 
			
		||||
        #        live database tests? y/n [n]
 | 
			
		||||
        #
 | 
			
		||||
        #    Install [a]ll BioPerl scripts, [n]one, or choose groups
 | 
			
		||||
        #        [i]nteractively? [a]
 | 
			
		||||
        #
 | 
			
		||||
        #    Do you want to run tests that require connection to servers across
 | 
			
		||||
        #        the internet (likely to cause some failures)? y/n [n]
 | 
			
		||||
        #
 | 
			
		||||
        # Eventually, someone can add capability for the other options, but
 | 
			
		||||
        # the current answers are the most practical for a spack install.
 | 
			
		||||
 | 
			
		||||
        config_answers = ["n\n", "a\n", "n\n"]
 | 
			
		||||
        config_answers_filename = "spack-config.in"
 | 
			
		||||
 | 
			
		||||
        with open(config_answers_filename, "w") as f:
 | 
			
		||||
            f.writelines(config_answers)
 | 
			
		||||
 | 
			
		||||
        with open(config_answers_filename, "r") as f:
 | 
			
		||||
            perl("Build.PL", "--install_base=%s" % self.prefix, input=f)
 | 
			
		||||
 | 
			
		||||
    # Need to also override the build and install methods to make sure that the
 | 
			
		||||
    # Build script is run through perl and not use the shebang, as it might be
 | 
			
		||||
    # too long. This is needed because this does not pick up the
 | 
			
		||||
    # `@run_after(configure)` step defined in `PerlPackage`.
 | 
			
		||||
    @when("@1.007002")
 | 
			
		||||
    def build(self, spec, prefix):
 | 
			
		||||
        perl("Build")
 | 
			
		||||
 | 
			
		||||
    @when("@1.007002")
 | 
			
		||||
    def install(self, spec, prefix):
 | 
			
		||||
        perl("Build", "install")
 | 
			
		||||
        def configure_args(self):
 | 
			
		||||
            args = ["--accept=1"]
 | 
			
		||||
            return args
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user