summaryrefslogtreecommitdiff
blob: 53db11c875dfeea2cf00cf37998748cfbcdc7e0a (plain)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit toolchain-funcs linux-info

MY_P="${PN}-$(ver_cut 1-2)"
DEBIAN_SOURCE="${PN}_$(ver_cut 1-2).orig.tar.gz"
DEBIAN_PATCH="${PN}_$(ver_rs 2 '-').debian.tar.gz"

DESCRIPTION="BSD build tool to create programs in parallel. Debian's version of NetBSD's make"
HOMEPAGE="http://www.netbsd.org/"
SRC_URI="
	mirror://debian/pool/main/p/pmake/${DEBIAN_SOURCE}
	mirror://debian/pool/main/p/pmake/${DEBIAN_PATCH}"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"

S="${WORKDIR}/${PN}"

PATCHES=(
	"${WORKDIR}"/debian/patches

	# pmake makes the assumption that . and .. are the first two
	# entries in a directory, which doesn't always appear to be the
	# case on ext3...  (05 Apr 2004 agriffis)
	"${FILESDIR}"/${PN}-1.98-skipdots.patch

	# Don't ignore ldflags
	"${FILESDIR}"/${PN}-1.111.1-ldflags.patch
)

src_compile() {
	# The following CFLAGS are almost directly from Red Hat 8.0 and
	# debian/rules, so assume it's okay to void out the __COPYRIGHT
	# and __RCSID.  I've checked the source and don't see the point,
	# but whatever...  (07 Feb 2004 agriffis)
	CFLAGS="${CFLAGS} -Wall -Wno-unused -D_GNU_SOURCE \
		-DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_SETENV \
		-D__COPYRIGHT\(x\)= -D__RCSID\(x\)= -I. \
		-DMACHINE=\\\"gentoo\\\" -DMACHINE_ARCH=\\\"$(tc-arch-kernel)\\\" \
		-D_PATH_DEFSHELLDIR=\\\"${EPREFIX}/bin\\\" \
		-D_PATH_DEFSYSPATH=\\\"${EPREFIX}/usr/share/mk\\\" \
		-DHAVE_VSNPRINTF"
	if [[ "${USERLAND}" == "GNU" ]]; then
		CFLAGS="${CFLAGS} -D_PATH_DEFSYSPATH=\\\"${EPREFIX}/usr/share/mk/${PN}\\\""
	fi

	emake -f Makefile.boot \
		CC="$(tc-getCC)" \
		CFLAGS="${CFLAGS}"
}

src_install() {
	# Don't install these on BSD, else they conflict
	if [[ ${USERLAND} == GNU ]]; then
		insinto /usr/share/mk/${PN}
		doins -r mk/.
	fi

	newbin bmake pmake
	dobin mkdep

	doman mkdep.1
	newman make.1 pmake.1

	dodoc PSD.doc/tutorial.ms

	if [[ ${USERLAND} == BSD ]]; then
		dosym pmake /usr/bin/make
		dosym pmake.1.gz /usr/share/man/man1/make.1.gz
	fi
}