summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/bmake/package.py
blob: 95558244604d3456b4003214d2032dfed39dc51d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Copyright 2013-2024 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.package import *


class Bmake(Package):
    """Portable version of NetBSD make(1)."""

    homepage = "https://www.crufty.net/help/sjg/bmake.htm"
    url = "https://www.crufty.net/ftp/pub/sjg/bmake-20180512.tar.gz"

    license("BSD-2-Clause")

    version("20230303", sha256="e8698724ac68c63f8e6682a93c3154c1d93dc6a9072f13c8cef07ece4ccd0ed6")
    version("20220330", sha256="4b46d95b6ae4b3311ba805ff7d5a19b9e37ac0e86880e296e2111f565b545092")
    version("20200710", sha256="6538fc4319ef79d178dca76d3b869f7aa93a9bb7b510df08a7d872c01a56b76c")
    version("20180512", sha256="ac3cd262065fcc20c1dec7c95f06306c8138b3e17025b949343a06a8980a5508")
    version("20171207", sha256="1703667e53a0498c0903b20612ebcbb41b886a94b238624cfeadd91a4111d39a")

    def patch(self):
        # Do not pre-roff cat pages
        filter_file("MANTARGET?", "MANTARGET", "mk/man.mk", string=True)
        # boot-strap hardcodes the directory it expects to be extracted to
        filter_file("GetDir /bmake", "GetDir " + self.stage.source_path, "boot-strap", string=True)

    def install(self, spec, prefix):
        sh = which("sh")
        sh("boot-strap", "op=configure")
        sh("boot-strap", "op=build")
        sh("boot-strap", "--prefix={0}".format(prefix), "op=install")