aboutsummaryrefslogtreecommitdiff
path: root/math/PDL/Makefile
blob: 3d6894068f3454b7ffd882fe3edee262fe93ca54 (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
# Created by: Anton Berezin <tobez@plab.ku.dk>
# $FreeBSD$

PORTNAME=	PDL
PORTVERSION=	2.019
PORTREVISION=	4
CATEGORIES=	math perl5
MASTER_SITES=	CPAN

MAINTAINER=	perl@FreeBSD.org
COMMENT=	Perl Data Language

LICENSE=	ART10 GPLv1+
LICENSE_COMB=	dual

.if ${/usr/bin/ld:L:tA} == /usr/bin/ld.lld
BROKEN_i386=	ld: error: can't create dynamic relocation R_386_32 against local symbol in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
.endif

BUILD_DEPENDS=	p5-Devel-CheckLib>=1.01:devel/p5-Devel-CheckLib \
		${P5_POD_PARSER} \
		${RUN_DEPENDS}
RUN_DEPENDS=	p5-Astro-FITS-Header>=0:astro/p5-Astro-FITS-Header \
		p5-Convert-UU>=0:converters/p5-Convert-UU \
		p5-File-Map>=0.57:devel/p5-File-Map \
		p5-Inline>=0.68:devel/p5-Inline \
		p5-Inline-C>=0.62:devel/p5-Inline-C \
		p5-List-MoreUtils>=0:lang/p5-List-MoreUtils \
		p5-Module-Compile>=0.23:devel/p5-Module-Compile
TEST_DEPENDS=	p5-Test-Deep>=0:devel/p5-Test-Deep \
		p5-Test-Exception>=0:devel/p5-Test-Exception \
		p5-Test-Warn>=0:devel/p5-Test-Warn

PORTSCOUT=	limit:^[0-9]\.[0-9][0-9]+[0-9\.]*$$

USES=		gmake perl5
USE_PERL5=	configure
MAKE_ENV=	PERL5LIB=${WRKSRC}/blib/lib
PLIST_FILES=	bin/pdl bin/pdl2 bin/pdldoc bin/perldl bin/pptemplate \
		${SITE_ARCH_REL}/Inline/Pdlpp.pm \
		${SITE_ARCH_REL}/Inline/MakePdlppInstallable.pm
MAKE_JOBS_UNSAFE=	yes

OPTIONS_DEFINE=	PGPLOT PLPLOT OPENGL GD FFTW GSL HDF PROJ F77 READLINE SINK
OPTIONS_DEFAULT=PGPLOT FFTW F77

# graphics/p5-OpenGL require manual building
.if empty(PACKAGE_BUILDING)
OPTIONS_DEFAULT+=	OPENGL
.endif

PGPLOT_DESC=	Enable PDL::Graphics::PGPLOT
PLPLOT_DESC=	Enable PDL::Graphics::PLplot
OPENGL_DESC=	Enable PDL::Graphics::TriD and OpenGL
GD_DESC=	Enable PDL::IO::GD
FFTW_DESC=	Enable PDL::FFTW
GSL_DESC=	Enable PDL::GSL interface
HDF_DESC=	Enable PDL::IO::HDF interface
PROJ_DESC=	Enable PDL::GIS::Proj interface
F77_DESC=	Enable PDL::Minuit and PDL::Slatec
READLINE_DESC=	Use GNU readline
SINK_DESC=	Include PDL kitchen sink

PGPLOT_BUILD_DEPENDS=	p5-PGPLOT>=0:graphics/p5-PGPLOT
PLPLOT_LIB_DEPENDS=	libplplotd.so:math/plplot
OPENGL_BUILD_DEPENDS=	p5-OpenGL>=0.65:graphics/p5-OpenGL
OPENGL_RUN_DEPENDS:=	${OPENGL_BUILD_DEPENDS}
OPENGL_USES=		gl
OPENGL_USE=		gl=glu
GD_LIB_DEPENDS=		libgd.so:graphics/gd
F77_BUILD_DEPENDS=	p5-ExtUtils-F77>=0:lang/p5-ExtUtils-F77
FFTW_LIB_DEPENDS=	libfftw.so:math/fftw
GSL_LIB_DEPENDS=	libgsl.so:math/gsl
HDF_LIB_DEPENDS=	libdf.so:science/hdf
PROJ_LIB_DEPENDS=	libproj.so:graphics/proj
READLINE_RUN_DEPENDS=	p5-Term-ReadLine-Gnu>=0:devel/p5-Term-ReadLine-Gnu
READLINE_RUN_DEPENDS_OFF=	p5-Term-ReadLine-Perl>=0:devel/p5-Term-ReadLine-Perl
SINK_RUN_DEPENDS=	ppmtogif:graphics/netpbm \
			mpeg_encode:multimedia/mpeg_encode \
			saoimage:astro/saoimage

post-patch:
	@${GREP} -lR '#!/.*bin/perl' ${WRKSRC}/ | ${XARGS} ${SED} -e 's|#!/.*bin/perl|#!${PERL}|' -i ''
	@${GREP} -lR 'x86_64' ${WRKSRC}/ | ${XARGS} ${SED} -e 's|x86_64|amd64|g' -i ''
	@${REINPLACE_CMD} -e "/POSIX_THREADS_LIBS/ s|undef|'-lpthread'|" \
		${WRKSRC}/perldl.conf

post-install:
	${FIND} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/PDL -name '*.so' \
		| ${XARGS} ${STRIP_CMD}
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/pdl
# autogen plist
	@(cd ${WRKSRC}; ${PERL} -Iblib/lib -Iblib/arch Doc/scantree.pl)
	@(cd ${WRKSRC}/blib/man3 ; \
	  ${FIND} *.3 | ${SED} "s,^,${MAN3PREFIX}/man/man3/,;s/3$$/3.gz/" \
		>> ${TMPPLIST} ; \
	  cd ${WRKSRC}/blib/man1 ; \
	  ${FIND} *.1 | ${SED} "s,^,${MAN1PREFIX}/man/man1/,;s/1$$/1.gz/" \
		>> ${TMPPLIST})
	@(${FIND} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/PDL* -type f | \
		${SED} "s,^${STAGEDIR}${PREFIX}/,," >> ${TMPPLIST} ; \
	  ${FIND} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/PDL -type f \
		-name "[A-Z]*" | ${SED} "s,^${STAGEDIR}${PREFIX}/,," \
		>> ${TMPPLIST})

.include <bsd.port.mk>