aboutsummaryrefslogtreecommitdiff
path: root/databases/gnats4/Makefile
blob: 5d7c100643bccca2cee9b98d790174e21c68e685 (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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
PORTNAME=	gnats
PORTVERSION=	4.1.0
PORTREVISION=	16
CATEGORIES=	databases devel
MASTER_SITES=	GNU
PKGNAMESUFFIX=	4

MAINTAINER=	ports@FreeBSD.org
COMMENT=	GNATS, the GNU Problem Report Management System
WWW=		https://www.gnu.org/software/gnats/

BROKEN_mips=		Does not build: error: conflicting types for yy_scan_string
BROKEN_mips64=		Does not build: error: conflicting types for yy_scan_string
BROKEN_FreeBSD_12_powerpc64=	fails to build on powerpc64 elfv1: conflicting types for yy_scan_string

GNU_CONFIGURE=	yes
USES=		cpe gmake makeinfo
USE_GCC=	yes
USERS=		gnats

CPE_VENDOR=	gnu

PKGMESSAGE=	${WRKDIR}/pkg-message
PKGINSTALL=	${WRKDIR}/pkg-install

.ifdef WANT_FREEFALL_CFG
EXTRA_PATCHES+=		${PATCHDIR}/extrapatch-*
GNATSDBDIR=		${DATADIR}
CONFIGURE_ARGS+=	--with-gnats-default-db=${GNATSDBDIR}/gnats-db
WITH_SUBMITTER_ID=	current-users
WITH_ORGANIZATION=	FreeBSD
WITH_GNATSD_SERVICE=	support
.endif

GNATSDBDIR?=		/var/db/gnats

CONFIGURE_ARGS+=	--sharedstatedir=${GNATSDBDIR}

.ifdef WITH_SUBMITTER_ID
CONFIGURE_ARGS+=	--with-submitter=${WITH_SUBMITTER_ID}
.endif

.ifdef WITH_ORGANIZATION
CONFIGURE_ARGS+=	--with-organization=${WITH_ORGANIZATION:Q}
.endif

.ifdef WITH_GNATSD_SERVICE
CONFIGURE_ARGS+=	--with-gnats-service=${WITH_GNATSD_SERVICE}
.endif

PLIST_SUB=	GNATSDBDIR=${GNATSDBDIR}
INFO=		gnats-faq gnats
PORTDOCS=	NEWS UPGRADING

OPTIONS_DEFINE=	DOCS EMACS SERVER
OPTIONS_DEFAULT=SERVER
OPTIONS_SUB=	yes
EMACS_USES=	emacs
EMACS_DESC=	Install Emacs Lisp support file
EMACS_VARS=	EMACS_NO_DEPENDS=yes
SERVER_DESC=	Install the gnats server too

.include <bsd.port.options.mk>

.if ! ${PORT_OPTIONS:MSERVER}
ALL_TARGET=	all-tools
INSTALL_TARGET=	install-tools
.endif

.if ${PORT_OPTIONS:MEMACS}
CONFIGURE_ARGS+=--with-lispdir=${LOCALBASE}/${EMACS_SITE_LISPDIR}
.else
PLIST_SUB+=	EMACS_SITE_LISPDIR="@comment "
.endif

pre-everything::
.if !defined(PACKAGE_BUILDING) && !defined(WANT_FREEFALL_CFG)
	@${ECHO} "============================================================="
	@${ECHO}
	@${ECHO} "You can build ${PKGNAME} with the following options:"
	@${ECHO}
	@${ECHO} "WITH_SUBMITTER_ID=unknown        default submitter-id"
	@${ECHO} "WITH_ORGANIZATION='unknown'      default organization"
	@${ECHO} "WITH_GNATSD_SERVICE=support      default gnatsd port name"
	@${ECHO}
	@${ECHO} "============================================================="
	@${ECHO}
.endif

pre-configure:
	@${ECHO_CMD} 'RELEASE_TAG="\`uname -srm\`"' > ${WRKSRC}/release-info

post-build:
	@for doc in pkg-message pkg-install; do \
		${SED} -e 's,%%PREFIX%%,${STAGEDIR}${PREFIX},g' \
			-e 's,%%GNATSDBDIR%%,${GNATSDBDIR},g' \
			${PKGDIR}/$${doc} >${WRKDIR}/$${doc}; \
	done

pre-install:
	@${MKDIR} ${STAGEDIR}${PREFIX}/libexec/gnats

post-install:
.if ${PORT_OPTIONS:MSERVER}
	${MV} ${STAGEDIR}${ETCDIR}/databases.default \
		${STAGEDIR}${ETCDIR}/databases.sample
	${MV} ${STAGEDIR}${ETCDIR}/gnatsd.host_access.default \
		${STAGEDIR}${ETCDIR}/gnatsd.host_access.sample
.endif
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	(cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})

.include <bsd.port.mk>