Index: head/astro/xtide/Makefile =================================================================== --- head/astro/xtide/Makefile (revision 409314) +++ head/astro/xtide/Makefile (revision 409315) @@ -1,93 +1,94 @@ # Created by: Brion Moss # $FreeBSD$ PORTNAME= xtide PORTVERSION= 2.15 +PORTREVISION= 1 CATEGORIES= astro geography MASTER_SITES= ftp://ftp.flaterco.com/xtide/ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ ${DISTNAME_TCD}${EXTRACT_SUFX} \ ${DISTNAME_HARM}${EXTRACT_SUFX} MAINTAINER= ports@FreeBSD.org COMMENT= Harmonic tide clock and tide predictor LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libpng.so:${PORTSDIR}/graphics/png USES= compiler:c++0x gmake libtool localbase tar:bzip2 GNU_CONFIGURE= yes CONFIGURE_ENV= ac_cv_header_tcd_h=yes \ ac_cv_lib_tcd_get_tide_db_header=yes INSTALL_TARGET= install-strip USE_LDCONFIG= yes CFLAGS+= -Wno-deprecated-declarations CPPFLAGS+= -I${WRKSRC_TCD} $$(libpng-config --I_opts) LDFLAGS+= -L${WRKSRC_TCD}/.libs $$(libpng-config --L_opts) OPTIONS_DEFINE= WVS X11 OPTIONS_DEFAULT= X11 OPTIONS_SUB= yes WVS_DESC= Use world vector shoreline data (37MB) WVS_DISTFILES= ${DISTNAME_WVS}${EXTRACT_SUFX} X11_USE= xorg=xaw,xpm X11_CONFIGURE_WITH= x X11_DESKTOP_ENTRIES= "XTide" "" "xtide" "xtide" "" "" DISTNAME_TCD= libtcd-2.2.7-r2 WRKSRC_TCD= ${WRKDIR}/${DISTNAME_TCD:C/-r[0-9]+//} DISTNAME_HARM= harmonics-dwf-20151227-free WRKSRC_HARM= ${WRKDIR}/${DISTNAME_HARM:C/-free//} DISTNAME_WVS= wvs post-patch: @${REINPLACE_CMD} -e \ '/if test/s|==|=|g' ${WRKSRC_TCD}/configure @${REINPLACE_CMD} -e \ 's|/usr/X11R6|${LOCALBASE}|g' ${WRKSRC}/configure @${REINPLACE_CMD} -e \ 's|"/etc/|"${PREFIX}/etc/| ; \ s| /etc/| ${PREFIX}/etc/|' ${WRKSRC}/libxtide/Global.cc pre-configure: @(cd ${WRKSRC_TCD} && ${SETENV} ${CONFIGURE_ENV} \ CC="${CC}" CFLAGS="${CFLAGS} -fPIC" \ CXX="${CXX}" CXXFLAGS="${CXXFLAGS} -fPIC" \ ${SH} ./configure ${CONFIGURE_ARGS}) pre-build: @(cd ${WRKSRC_TCD} && ${DO_MAKE_BUILD} ${ALL_TARGET}) post-build: @${ECHO_CMD} -n > ${WRKDIR}/xtide.conf.sample @${ECHO_CMD} "${DATADIR}/harmonics.tcd" >> ${WRKDIR}/xtide.conf.sample @${ECHO_CMD} "${DATADIR}/wvs" >> ${WRKDIR}/xtide.conf.sample @${LN} -sf ${DISTNAME_HARM}.tcd ${WRKSRC_HARM}/harmonics.tcd @${LN} -sf icon_48x48_orig.png ${WRKSRC}/iconsrc/xtide.png pre-install: @(cd ${WRKSRC_TCD} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtcd.so.[0-9]* post-install: (cd ${WRKDIR} && ${INSTALL_DATA} xtide.conf.sample \ ${STAGEDIR}${PREFIX}/etc) @${MKDIR} ${STAGEDIR}${DATADIR} (cd ${WRKSRC_HARM} && ${INSTALL_DATA} harmonics.tcd \ ${STAGEDIR}${DATADIR}) post-install-WVS-on: @${MKDIR} ${STAGEDIR}${DATADIR}/wvs (cd ${WRKDIR} && ${INSTALL_DATA} wvs*.dat \ ${STAGEDIR}${DATADIR}/wvs) post-install-X11-on: (cd ${WRKSRC}/iconsrc && ${INSTALL_DATA} xtide.png \ ${STAGEDIR}${PREFIX}/share/pixmaps) .include Index: head/astro/xtide/files/patch-xttpd.cc =================================================================== --- head/astro/xtide/files/patch-xttpd.cc (nonexistent) +++ head/astro/xtide/files/patch-xttpd.cc (revision 409315) @@ -0,0 +1,34 @@ +--- xttpd.cc.orig 2016-01-23 13:26:42 UTC ++++ xttpd.cc +@@ -258,7 +258,21 @@ static void setupSocket (sockaddr_storag + Global::xperror ("setsockopt"); + } + } +- bool bound = (bind(s,(sockaddr *)&addr,sizeof(addr))==0); ++ ++ // 2016-02-21 Manfred Antar reported "bind: Invalid argument" occurring on ++ // FreeBSD and OS X as a regression from 2.14 when trying to bind port ++ // 8080, with or without an explicit address. The only change that should ++ // have been visible to bind is that the size argument got bigger. The ++ // FreeBSD man page for bind states that EINVAL can be raised if "the ++ // addrlen argument is not a valid length for the address family." I guess ++ // this means that apps making use of sockaddr_storage are supposed to lie ++ // about the length. The linux man page similarly states that EINVAL can ++ // be raised if "the addrlen is wrong" but the problem does not reproduce ++ // with my libc. ++ const socklen_t addrlen (addr.ss_family==AF_INET6 ? sizeof(sockaddr_in6) ++ : sizeof(sockaddr_in)); ++ ++ bool bound = (bind(s,(sockaddr *)&addr,addrlen)==0); + int yerrno = errno; + if (!bound && addr.ss_family == AF_INET6) { + +@@ -288,7 +302,7 @@ static void setupSocket (sockaddr_storag + + for (unsigned magic=4; !bound && magic>0; --magic) { + ((sockaddr_in6 *)&addr)->sin6_scope_id = magic; +- bound = (bind(s,(sockaddr *)&addr,sizeof(addr))==0); ++ bound = (bind(s,(sockaddr *)&addr,addrlen)==0); + } + } + // Report the error from the first failure so that it won't be obscured by Property changes on: head/astro/xtide/files/patch-xttpd.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property