svn commit: r308561 - in head/comms/gnuradio: . files
Jason E. Hale
jhale at freebsd.org
Sun Dec 9 23:53:08 UTC 2012
On Sunday, December 09, 2012 20:19:41 Diane Bruce wrote:
> Author: db
> Date: Sun Dec 9 20:19:41 2012
> New Revision: 308561
> URL: http://svnweb.freebsd.org/changeset/ports/308561
>
> Log:
> - Update to 3.6.2
> - Needs the usrp port
>
> Tested by: lrk at ovillatx.sytes.net
>
> Modified: head/comms/gnuradio/Makefile
> ============================================================================
> == --- head/comms/gnuradio/Makefile Sun Dec 9 20:00:19 2012 (r308560)
+++
> head/comms/gnuradio/Makefile Sun Dec 9 20:19:41 2012 (r308561) @@
-1,55
> +1,46 @@
> # $FreeBSD$
>
> PORTNAME= gnuradio
> -PORTVERSION= 3.2.2
> -PORTREVISION= 4
> +PORTVERSION= 3.6.2
> CATEGORIES= comms astro hamradio
> -MASTER_SITES= ${MASTER_SITE_GNU}
> -MASTER_SITE_SUBDIR= gnuradio
> -DIST_SUBDIR= ${PORTNAME}
> +MASTER_SITES= http://gnuradio.org/releases/gnuradio/
>
> MAINTAINER= db at FreeBSD.org
> COMMENT= Amateur Radio Software defined radio
>
> -BUILD_DEPENDS= sdcc>=3.0.0:${PORTSDIR}/lang/sdcc \
> - sdl-config:${PORTSDIR}/devel/sdl12 \
> - swig:${PORTSDIR}/devel/swig13 \
> - cppunit-config:${PORTSDIR}/devel/cppunit \
> - ${LOCALBASE}/bin/cheetah:${PORTSDIR}/devel/py-cheetah \
> - py*-lxml>=0:${PORTSDIR}/devel/py-lxml \
> - ${PYTHON_SITELIBDIR}/pygtk.py:${PORTSDIR}/x11-toolkits/py-gtk2 \
> - xdg-open:${PORTSDIR}/devel/xdg-utils \
> - guile:${PORTSDIR}/lang/guile
> -LIB_DEPENDS= fftw3:${PORTSDIR}/math/fftw3 \
> - fftw3f:${PORTSDIR}/math/fftw3-float \
> +BUILD_DEPENDS= sdl-config:${PORTSDIR}/devel/sdl12\
> + swig:${PORTSDIR}/devel/swig13\
> + cheetah:${PORTSDIR}/devel/py-cheetah\
> + ${LOCALBASE}/lib/portaudio2/libportaudio.so:
${PORTSDIR}/audio/portaudio2
> \ + py*-lxml>=0:${PORTSDIR}/devel/py-lxml\
> + ${PYTHON_SITELIBDIR}/pygtk.py:${PORTSDIR}/x11-toolkits/py-gtk2\
> + ${PYTHON_SITELIBDIR}/PyQt4/Qt.py:${PORTSDIR}/devel/py-qt4\
> + xdg-open:${PORTSDIR}/devel/xdg-utils\
> + guile:${PORTSDIR}/lang/guile\
> + git:${PORTSDIR}/devel/git\
> + jackd:${PORTSDIR}/audio/jack\
> + aserver:${PORTSDIR}/audio/alsa-lib
> +LIB_DEPENDS= fftw3:${PORTSDIR}/math/fftw3\
> + fftw3f:${PORTSDIR}/math/fftw3-float\
> + qwt:${PORTSDIR}/x11-toolkits/qwt5 \
> boost_python:${PORTSDIR}/devel/boost-python-libs \
> gsl:${PORTSDIR}/math/gsl
> RUN_DEPENDS= ${PYNUMPY} \
> - ${PYTHON_SITELIBDIR}/ephem/__init__.py:${PORTSDIR}/astro/pyephem
> + ${PYTHON_SITELIBDIR}/ephem/__init__.py:${PORTSDIR}/astro/pyephem\
> + ${PYTHON_SITELIBDIR}/PyQt4/Qt.py:${PORTSDIR}/devel/py-qt4
>
> -USE_GMAKE= yes
> -USE_PYTHON= 2.5+
It seems like there should be a USE_PKGCONFIG=build in here somewhere.
> +USE_CMAKE= yes
> +CMAKE_VERBOSE= yes
> +CMAKE_OUTSOURCE= yes
> +DOCSDIR= share/doc/${PORTNAME}-${PORTVERSION}
> +#CMAKE_ARGS= --debug-output --trace
> +CMAKE_ARGS=+ --debug-output
> +USE_PYTHON= 2.7+
> USE_WX= 2.6+
> +USE_QT4= gui xml qmake moc rcc uic
qmake, moc, rcc, and uic are only used for build. They should be suffixed
with _build
> WX_COMPS= wx wx:build wx:run python:build python:run
> USE_PERL5= yes
> -USE_AUTOTOOLS= autoconf libtool
> USE_LDCONFIG= yes
> -GNU_CONFIGURE= yes
> -CPPFLAGS+= -I${LOCALBASE}/include
> -LDFLAGS+= -L${LOCALBASE}/lib
> -
> -CONFIGURE_ARGS= --with-boost-include-dir="${LOCALBASE}/include/" \
> - --enable-grc \
> - --enable-usrp \
> - --enable-gr-usrp \
> - --disable-gr-audio-jack \
> - --disable-gr-audio-portaudio \
> - --enable-gr-audio-oss \
> - --enable-gr-wxgui \
> - --enable-gnuradio-examples \
> - --disable-doxygen \
> - --disable-html-docs \
> - --disable-latex-docs
>
> .include <bsd.port.pre.mk>
>
> @@ -57,42 +48,58 @@ CONFIGURE_ARGS= --with-boost-include-dir
> LIB_DEPENDS+= usb:${PORTSDIR}/devel/libusb
> .endif
>
> -AUTOTOOLSFILES= ${ACLOCAL}
> -
> PLIST_SUB+= PORTVERSION=${PORTVERSION}
>
> +OPTIONS_DEFINE= USRP TESTING
> +OPTIONS_DEFAULT= USRP
> +USRP_DESC= Include USRP support (UHD) from Ettus
> +TESTING_DESC= Include testing support
> +
> +.include <bsd.port.options.mk>
> +
> +.if ${PORT_OPTIONS:MDOCS}
This option would be better called DOXYGEN and add it to OPTIONS_DEFINE, but
not OPTIONS_DEFAULT. I would think most users do not want doxygen
documentation and since DOCS is always default, it pulls in doxygen and
generates a massive about of documentation which grows the size of the default
package significantly.
> +BUILD_DEPENDS+= doxygen:${PORTSDIR}/devel/doxygen \
> + ${LOCALBASE}/bin/sphinx-apidoc:${PORTSDIR}/textproc/py-sphinx \
> + dot:${PORTSDIR}/graphics/graphviz \
> + xmlto:${PORTSDIR}/textproc/xmlto \
> + ${LOCALBASE}/lib/X11/fonts/freefont-ttf/fonts.scale:
${PORTSDIR}/x11-fonts
> /freefont-ttf \ + latex:${PORTSDIR}/print/teTeX
> +CMAKE_ARGS+= -DENABLE_DOXYGEN:STRING="ON"
> +HAVE_PORTDOCS= YES
See note further down.
> +.else
> +CMAKE_ARGS+= -DENABLE_DOXYGEN:STRING="OFF"
> +.endif
> +
> +.if ${PORT_OPTIONS:MUSRP}
> +CMAKE_ARGS+= -DENABLE_GR_UHD:STRING="ON"
> +BUILD_DEPENDS+= ${LOCALBASE}/include/uhd/config.hpp:
${PORTSDIR}/comms/usrp
> +PLIST_SUB+= UHD=""
> +.else
> +CMAKE_ARGS+= -DENABLE_GR_UHD:STRING="OFF"
> +PLIST_SUB+= UHD="@comment "
> +.endif
> +
> +.if ${PORT_OPTIONS:MTESTING}
> +CMAKE_ARGS+= -DENABLE_TESTING:STRING="ON"
> +BUILD_DEPENDS+= cppunit-config:${PORTSDIR}/devel/cppunit
> +.else
> +CMAKE_ARGS+= -DENABLE_TESTING:STRING="OFF"
> +.endif
> +
> post-patch:
> - @${FIND} ${WRKSRC} -type f -name "Makefile.in" | ${XARGS} \
> - -n 10 ${REINPLACE_CMD} -E -e \
> - 's!^(ACLOCAL|AUTOCONF|AUTOMAKE|AUTOHEADER).+$$!\1=${TRUE}!' \
> - -e 's|/gnuradio/examples|/examples/gnuradio|'
> - @${REINPLACE_CMD} -e 's|^GR_FORTRAN||g' ${WRKSRC}/configure.ac
> - @${REINPLACE_CMD} -e 's|%%LIBDATA%%|${PREFIX}/libdata|' \
> - ${WRKSRC}/gnuradio-core/Makefile.in ${WRKSRC}/usrp/Makefile.in \
> - ${WRKSRC}/omnithread/Makefile.in ${WRKSRC}/pmt/Makefile.in \
> - ${WRKSRC}/gr-usrp/Makefile.in ${WRKSRC}/gr-wxgui/Makefile.in \
> - ${WRKSRC}/gruel/Makefile.in ${WRKSRC}/mblock/Makefile.in
> + @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \
> + ${WRKSRC}/docs/doxygen/Doxyfile.in
> +
> pre-install:
> - @${CP} ${FILESDIR}/wxgui_src_python_init.py \
> - ${WRKSRC}/gr-wxgui/src/python/__init__.py
> + ${MKDIR} ${PREFIX}/include/gruel
> + ${INSTALL_DATA} ${WRKSRC}/gruel/src/include/gruel/*.h \
> + ${PREFIX}/include/gruel
> +
> post-install:
> - @${INSTALL_DATA} ${WRKSRC}/gnuradio-core/gnuradio-core.conf \
> - ${PREFIX}/etc/gnuradio/gnuradio-core.conf.sample
> - @${INSTALL_DATA} ${WRKSRC}/gr-audio-oss/gr-audio-oss.conf \
> - ${PREFIX}/etc/gnuradio/gr-audio-oss.conf.sample
> - @${INSTALL_DATA} ${WRKSRC}/gr-wxgui/gr-wxgui.conf \
> - ${PREFIX}/etc/gnuradio/gr-wxgui.conf.sample
> - @${INSTALL_DATA} ${WRKSRC}/grc/grc.conf \
> - ${PREFIX}/etc/gnuradio/grc.conf.sample
> -.if !defined(NOPORTDOCS)
> - ${MKDIR} ${DOCSDIR}
> - ${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
> - ${INSTALL_DATA} ${WRKSRC}/README.hacking ${DOCSDIR}
> +.if defined(HAVE_PORTDOCS)
Could just use .if ${PORT_OPTIONS:MDOXYGEN} if you follow my suggestion and
remove the HAVE_PORTDOCS variable. But honestly, I think this message below
is only stating the obvious.
> @${ECHO} gnuradio docs are in ${DOCSDIR}
> .endif
> - @${ECHO} sample conf files are in ${PREFIX}/etc/gnuradio
> - @${ECHO} These must be copied to ${PREFIX}/etc/gnuradio/conf.d
> - @${ECHO} without the .sample suffix and edited as needed before use.
> + @${ECHO} conf files are in ${PREFIX}/etc/gnuradio/conf.d
> @${ECHO}
>
> .include <bsd.port.post.mk>
>
>
> Added: head/comms/gnuradio/files/patch-gr-atsc_CMakeLists.txt
> ============================================================================
> == --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/comms/gnuradio/files/patch-gr-atsc_CMakeLists.txt Sun Dec 9
> 20:19:41 2012 (r308561) @@ -0,0 +1,11 @@
> +--- gr-atsc/CMakeLists.txt.orig 2012-09-30 11:27:22.000000000 -0500
> ++++ gr-atsc/CMakeLists.txt 2012-09-30 11:27:22.000000000 -0500
> +@@ -99,7 +99,7 @@
> +
> + install(
> + FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-atsc.pc
> +- DESTINATION ${GR_LIBRARY_DIR}/pkgconfig
> ++ DESTINATION ${GR_PKGCONFIG_DIR}/pkgconfig
> + COMPONENT "atsc_devel"
> + )
> +
>
All of these little patches to fix the pkgconfig path like this one seem a
little excessive to me. I think a simple REINPLACE_CMD would be easier to
manage in the long run since these are unlikely to be fixed upstream.
Also pkg-plist is now enormous due to doxygen documentation. There are now
~10000 lines of docs adding about 600KB! It would be better to automatically
generate the plist data for these docs since it is bound to change with every
version and it will trim the pkg-plist size significantly. Have a look at the
post-install target in deve/gwenhywfar for an example.
--
Jason E. Hale - jhale@
FreeBSD Ports Committer
KDE/FreeBSD Team
More information about the svn-ports-all
mailing list