- Stagify; unbreak the against Clang

- Allow for parallel (-jX) builds
- Cleanup Makefile while I'm at here
- Augment port description, fix WWW

N.b., there's version 2.4 available.
This commit is contained in:
Alexey Dokuchaev 2014-07-23 05:17:15 +00:00
parent 316e3dbeed
commit 54d2419f77
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=362621
3 changed files with 46 additions and 15 deletions

View file

@ -1,4 +1,4 @@
# Created by: bms@FreeBSD.org
# Created by: Bruce M Simpson <bms@FreeBSD.org>
# $FreeBSD$
PORTNAME= gpstk
@ -10,38 +10,51 @@ DISTNAME= ${PORTNAME}-${PORTVERSION}.src
MAINTAINER= ports@FreeBSD.org
COMMENT= Toolkit for developing GPS applications
LICENSE= LGPL21
BUILD_DEPENDS= jam:${PORTSDIR}/devel/jam
WRKSRC= ${WRKDIR}/${PORTNAME}
USES= dos2unix
NO_STAGE= yes
USE_PYTHON_RUN= yes
USE_LDCONFIG= yes
DOS2UNIX_FILES= ${WRKSRC}/Jamrules
WRKSRC= ${WRKDIR}/${PORTNAME}
JAM= jam
JAM_ENV= PREFIX="${PREFIX}" \
BINDIR="${PREFIX}/bin" \
INCDIR="${PREFIX}/include/${PORTNAME}" \
LIBDIR="${PREFIX}/lib" \
JAM_ENV= PREFIX="${STAGEDIR}${PREFIX}" \
CC="${CC}" CCFLAGS="${CFLAGS}" \
C++="${CXX}" C++FLAGS="${CXXFLAGS}"
post-patch:
# Unbreak with modern C++ compilers (notably, Clang)
@${REINPLACE_CMD} -e 's,assignFrom(,this->&,' \
${WRKSRC}/src/Vector.hpp ${WRKSRC}/src/Matrix.hpp
@${REINPLACE_CMD} -e 's,matSliceCheck(,this->&,' \
${WRKSRC}/src/Matrix.hpp
@${REINPLACE_CMD} -e 's,addData(,this->&,' \
${WRKSRC}/src/FileFilterFrame.hpp
@${REINPLACE_CMD} -e 's,float,double,' \
${WRKSRC}/apps/swrx/gpsSim.cpp
@${REINPLACE_CMD} -e '/GPSEllipsoid gm/s,const ,,' \
${WRKSRC}/apps/reszilla/ddGen.cpp
do-build:
cd ${WRKSRC} && ${SETENV} ${JAM_ENV} ${JAM}
cd ${WRKSRC} && ${SETENV} ${JAM_ENV} ${JAM} ${_MAKE_JOBS}
NOSTRIPFILES= ddPlot|ordPlot # don't strip scripts
SHLIBS= geodyn geomatics gpstk procframe rxio vdraw vplot
SHLIBVER= ${PORTVERSION:C/\.//g}
SHLIBVER= ${PORTVERSION:S/.//g}
do-install:
@${MKDIR} ${PREFIX}/include/${PORTNAME}
@${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
cd ${WRKSRC} && ${SETENV} ${JAM_ENV} ${JAM} install
.for shlib in ${SHLIBS}
@${LN} -sf lib${shlib}.so.${SHLIBVER} ${PREFIX}/lib/lib${shlib}.so
${LN} -sf lib${shlib}.so.${SHLIBVER} \
${STAGEDIR}${PREFIX}/lib/lib${shlib}.so
.endfor
@${STRIP_CMD} `${GREP} '^bin/' ${PLIST} | \
${GREP} -E -v '^bin/(${NOSTRIPFILES})$$' | \
${SED} 's:^:${PREFIX}/:g'`
${SED} 's,^,${STAGEDIR}${PREFIX}/,'`
.include <bsd.port.mk>

View file

@ -0,0 +1,12 @@
--- apps/swrx/IQStream.hpp.orig 2012-06-27 22:22:33 +0800
+++ apps/swrx/IQStream.hpp
@@ -130,6 +130,9 @@ namespace gpstk
inline IQStream& operator<<(IQStream& s, const std::complex<float>& v)
{ s.writeComplex(v); return s; };
+ inline IQStream& operator<<(IQStream& s, const std::complex<double>& v)
+ { s.writeComplex(v); return s; };
+
class IQ1Stream : public IQStream
{

View file

@ -1,3 +1,9 @@
The GPSTk is a C++ library for developing GPS applications.
The GPSTk is an open source C++ library for developing GPS applications.
WWW: http://gpstk.sourceforge.net/
The GPSTk suite consists of a core library, auxiliary libraries, and a set
of applications. The GPSTk provides a wide array of functions that solve
processing problems associated with GNSS such as processing or using
standard formats such as RINEX. The libraries are the basis for the more
advanced applications distributed as part of the GPSTk suite.
WWW: http://www.gpstk.org/