freebsd-ports/math/PDL/Makefile
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00

103 lines
3.7 KiB
Makefile

PORTNAME= PDL
PORTVERSION= 2.019
PORTREVISION= 5
CATEGORIES= math perl5
MASTER_SITES= CPAN
MAINTAINER= perl@FreeBSD.org
COMMENT= Perl Data Language
WWW= https://metacpan.org/release/PDL
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>=0:textproc/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
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>