Date: Sun, 09 Dec 2012 18:53:03 -0500 From: "Jason E. Hale" <jhale@freebsd.org> To: Diane Bruce <db@freebsd.org> Cc: svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org Subject: Re: svn commit: r308561 - in head/comms/gnuradio: . files Message-ID: <1411961.lMF0z6U7RY@mocha.verizon.net> In-Reply-To: <201212092019.qB9KJfsr022686@svn.freebsd.org> References: <201212092019.qB9KJfsr022686@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1411961.lMF0z6U7RY>