aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/portmk/Makefile
blob: 3b66f3cdaa2f73949933cf283321fb7fb29e9c32 (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
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
77
78
79
80
81
82
# New ports collection makefile for:	portmk
# Date created:				05 Jul 2004
# Whom:					Oliver Eikemeier
#
# $FreeBSD$
#

PORTNAME=	portmk
PORTVERSION=	0.1.1
CATEGORIES=	devel
DISTFILES=

MAINTAINER=	clement@FreeBSD.org
COMMENT=	Development version of bsd.port.mk

PKGMESSAGE=	${WRKDIR}/pkg-message

NO_BUILD=	yes
PLIST_FILES=	bin/omake

PORTDOCS=	ReadMe ChangeLog Features KnownIssues

MASTER_SITE_PATCHOMATIC?=	http://people.freebsd.org/~clement/portmk/
PATCHOMATIC_FILE?=		patch-o-matic-latest.tar.bz2
WRKSRC=				${WRKDIR}/patch-o-matic

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 500000
PORTMK_PATCH=	${FILESDIR}/portmk4.patch
.else
PORTMK_PATCH=	${FILESDIR}/portmk5.patch
.endif

post-patch:
.for text in pkg-message
	@${SED} -e 's,%%PREFIX%%,${PREFIX},g' \
		-e 's,%%PORTSDIR%%,${PORTSDIR},g' \
		-e 's,%%DOCSDIR%%,${DOCSDIR},g' \
		${PKGDIR}/${text} >${WRKDIR}/${text}
.endfor

do-install:
	@${INSTALL_SCRIPT} ${FILESDIR}/omake.sh ${PREFIX}/bin/omake

post-install:
	@${MKDIR} ${DOCSDIR}
.for doc in ${PORTDOCS}
	@${INSTALL_DATA} ${FILESDIR}/${doc} ${DOCSDIR}
.endfor
	@${CAT} ${PKGMESSAGE}

activate:
	@if [ "`${ECHO_CMD} FreeBSD | ${TR} -s .`" != "FreeBSD" ]; then \
		${ECHO_MSG} "tr(1) is broken."; \
		${FALSE}; \
	fi
	@${GREP} -qs PORTMK /usr/share/mk/bsd.port.mk || \
		${PATCH} -s -N -d /usr/share/mk -i ${PORTMK_PATCH} && \
		${ECHO_MSG} ">> Configured bsd.port.mk."
	@${GREP} -qs PORTMK /etc/make.conf || \
		${CAT} ${FILESDIR}/make.conf >> /etc/make.conf && \
		${ECHO_MSG} ">> Configured make.conf(5)."

patch-o-matic:
	@${MKDIR} ${WRKDIR}
	@${ECHO_CMD} "==> Fetching patch-o-matic file (${MASTER_SITE_PATCHOMATIC}/${PATCHOMATIC_FILE}"
	@(cd ${WRKDIR} ; ${RM} -f ${PATCHOMATIC_FILE} ; ${FETCH_CMD} \
		${MASTER_SITE_PATCHOMATIC}/${PATCHOMATIC_FILE})
	@${TAR} yxf ${WRKDIR}/${PATCHOMATIC_FILE} -C ${WRKDIR}
	@${ECHO_CMD} "==> Applying patches..."
	@for patch in $$(${CAT} ${WRKSRC}/AFFECTED_PORTS); do \
		eval `${ECHO_CMD} $$patch | ${AWK} -F\: \
			'{print "PORT="$$1"; PATCH="$$2";"}'`; \
		[ -e ${WRKSRC}/patches/$$PATCH ] && { \
		${ECHO_CMD} -n " Applying $$PATCH to $$PORT... " ; \
		${PATCH} -d ${PORTSDIR} -p0 < ${WRKSRC}/patches/$$PATCH > /dev/null 2>&1 || echo -n "N" ;\
		echo OK ;\
		}; ${TRUE} ;\
	done

.include <bsd.port.post.mk>