aboutsummaryrefslogtreecommitdiff
path: root/math/gap/Makefile
blob: 9c65d32b17e6f56ca181b777cbcafc4a05f6bfa6 (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
# Created by: keith@FreeBSD.org
# $FreeBSD$

PORTNAME=	gap
PORTVERSION=	4.8.10.${GAP_DISTDATE}
CATEGORIES=	math
MASTER_SITES=	http://www.gap-system.org/pub/gap/gap48/tar.bz2/ \
		ftp://ftp.stack.nl/pub/users/johans/gap/ \
		ftp://ftp.gap-system.org/pub/gap/gap48/old/
DISTNAME=	${GAP_VERSION}p${PORTVERSION:R:E}_${GAP_DISTTIME}

MAINTAINER=	hrs@FreeBSD.org
COMMENT=	GAP is a system for computational discrete algebra

LICENSE=	GPLv2+

BROKEN_aarch64=		fails to link: undefined reference to SyAllocBags

LIB_DEPENDS=	libgmp.so:math/gmp

USES=		gmake shebangfix tar:bzip2
SHEBANG_FILES=	configure \
		pkg/GAPDoc-*/*/clean \
		pkg/*/doc/clean \
		pkg/PolymakeInterface/configure \
		pkg/*/doc/convert.pl \
		pkg/anupq-*/tst/make_anupqeg \
		pkg/crime/gap/print.pl \
		pkg/io-*/tst/sleep.sh \
		pkg/pargap/mpinu/thwap

GNU_CONFIGURE=	yes
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
ALL_TARGET=	default
INSTALL_TARGET=	install-strip

MAKE_JOBS_UNSAFE=yes

GAP_VERSION=	${PORTNAME}${PORTVERSION:R:R:S/./r/}	# gap4r5
GAP_DISTTIME=	2018_01_15-13_02
GAP_DISTDATE=	${GAP_DISTTIME:C/-.*//:S/_//g}
GAP_LIBDIR=	${PREFIX}/lib/${GAP_VERSION}
WRKSRC=		${WRKDIR}/${GAP_VERSION}
PLIST_FILES=	bin/gap

post-patch:
	@${REINPLACE_CMD} -i '' -e '1s|/usr/bin/sh|/bin/sh|' \
	    ${WRKSRC}/pkg/happrime/make_tarball
# Avoid conflict with C++20 <version> by ignoring <...> under WRKSRC
	@${REINPLACE_CMD} -i .c++20 's/-I/-iquote/' \
		${WRKSRC}/pkg/*/Makefile.in

post-build:
	cd ${WRKSRC}/pkg/simpcomp && \
	    ${SETENV} ${CONFIGURE_ENV} ${SH} configure \
		${CONFIGURE_ARGS:N--with-*} && \
	    ${MAKE} ${MAKEFLAGS} && \
	    ${MAKE} ${MAKEFLAGS} install-strip && \
	    ${RM} bistellar

do-install:
	${SED} -e "s:GAP_DIR=.*:GAP_DIR=${GAP_LIBDIR}:g" \
		-e "s:GAP_PRG=.*:GAP_PRG=gap:g" ${WRKSRC}/bin/gap.sh \
		> ${STAGEDIR}${PREFIX}/bin/gap
	@${CHMOD} 755 ${STAGEDIR}${PREFIX}/bin/gap
	@${MKDIR} ${STAGEDIR}${GAP_LIBDIR}/bin
	${INSTALL_PROGRAM} ${WRKSRC}/bin/*/gap ${STAGEDIR}${GAP_LIBDIR}/bin
	${INSTALL_SCRIPT} ${WRKSRC}/bin/*/gac ${STAGEDIR}${GAP_LIBDIR}/bin
	${INSTALL_DATA} ${WRKSRC}/sysinfo.gap ${STAGEDIR}${GAP_LIBDIR}
.for subdir in doc etc grp lib pkg prim small trans tst
	${CP} -R ${WRKSRC}/${subdir} ${STAGEDIR}${GAP_LIBDIR}/
.endfor

post-install:
	@${FIND} ${STAGEDIR}${GAP_LIBDIR} -type d -empty -delete
	@${FIND} ${STAGEDIR}${GAP_LIBDIR} -name \*.py -delete
	@${FIND} ${STAGEDIR}${GAP_LIBDIR} ! -type d | \
		${SED} 's,${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}

.include <bsd.port.mk>