diff options
author | tijl <tijl@FreeBSD.org> | 2015-04-15 16:20:27 +0800 |
---|---|---|
committer | tijl <tijl@FreeBSD.org> | 2015-04-15 16:20:27 +0800 |
commit | ff176a3eb176ed56a19a9ec55117606d2c0c34a4 (patch) | |
tree | eec3d608e84e79f0187985e5a1e29cd4f04f13eb /comms | |
parent | f04a4518f0a5a0ff6bd706dc17a0016965d1ee39 (diff) | |
download | freebsd-ports-graphics-ff176a3eb176ed56a19a9ec55117606d2c0c34a4.tar.gz freebsd-ports-graphics-ff176a3eb176ed56a19a9ec55117606d2c0c34a4.tar.zst freebsd-ports-graphics-ff176a3eb176ed56a19a9ec55117606d2c0c34a4.zip |
converters/libiconv:
- Remove const qualifier from iconv(3) to match POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html
- Patch iconv.h to expose more GNU extensions when LIBICONV_PLUG is
defined because the base system iconv supports these extensions too.
Add/remove patches to/from ports to call iconv with non-const arguments.
This breaks some ports on FreeBSD 10 because base system iconv.h still has
the const qualifier. Fix this by letting USES=iconv add a build dependency
on converters/libiconv so ports can use its iconv.h (with LIBICONV_PLUG
defined) instead of the base system iconv.h.
This exposed some ports that link with libiconv when it is available instead
of using libc iconv. In these cases one of the following changes has been
made:
- patch configure scripts to test for libc iconv first
- add ac_cv_lib_iconv_libiconv=no or similar to CONFIGURE_ARGS to disable
some configure tests
- converters/wkhtmltopdf: this includes Qt4 so add a patch from devel/qt4
- lang/gcc5-aux: respect CFLAGS and friends during configure such that
LIBICONV_PLUG is defined in the iconv test, also switch to external
gettext
- mail/gnarwl: replace patches with CPPFLAGS/LIBS
- multimedia/ffmpeg2theora: remove iconv test from SConstruct and use
ICONV_LIB in port Makefile instead, also fix a bug in subtitles.c
- net-im/licq: finish conversion to cmake
- net-mgmt/bandwidthd, net-mgmt/icinga, net-mgmt/nagios, net-mgmt/nagios4:
don't need iconv
- textproc/p5-XML-TinyXML: finish conversion to USES=perl5
Other changes:
- databases/qdbm and slaves: respect CFLAGS and friends, also enable bzip2
and lzo support
- games/ldmud: respect CFLAGS and friends
- graphics/inventor: replace some patches with MAKE_ARGS/MAKE_ENV to respect
CFLAGS and friends, also remove FreeBSD/alpha patch and add missing xorg
dependencies
PR: 199099
Exp-run by: antoine
Approved by: portmgr (antoine)
Diffstat (limited to 'comms')
-rw-r--r-- | comms/scmxx/Makefile | 10 | ||||
-rw-r--r-- | comms/telldus-core/Makefile | 3 | ||||
-rw-r--r-- | comms/telldus-core/files/patch-common-CMakeLists.txt | 29 | ||||
-rw-r--r-- | comms/telldus-core/files/patch-common-Strings.cpp | 26 |
4 files changed, 35 insertions, 33 deletions
diff --git a/comms/scmxx/Makefile b/comms/scmxx/Makefile index 0687099e045..f164eb49c97 100644 --- a/comms/scmxx/Makefile +++ b/comms/scmxx/Makefile @@ -3,7 +3,7 @@ PORTNAME= scmxx PORTVERSION= 0.9.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= comms MASTER_SITES= SF @@ -21,7 +21,11 @@ EXAMPLES= sms.txt vCalendar.vcs vCard.vcf OPTIONS_DEFINE= DOCS -.include <bsd.port.options.mk> +.include <bsd.port.pre.mk> + +.if empty(ICONV_LIB) +CONFIGURE_ARGS+=ac_cv_lib_iconv_libiconv=no +.endif post-patch: @${FIND} ${WRKSRC} -name 'Makefile*' | ${XARGS} \ @@ -35,4 +39,4 @@ post-install: cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR} .endif -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/comms/telldus-core/Makefile b/comms/telldus-core/Makefile index 6cb336b6346..3efde174cb5 100644 --- a/comms/telldus-core/Makefile +++ b/comms/telldus-core/Makefile @@ -3,6 +3,7 @@ PORTNAME= telldus-core PORTVERSION= 2.1.2 +PORTREVISION= 1 CATEGORIES= comms MASTER_SITES= http://download.telldus.se/TellStick/Software/telldus-core/ @@ -16,7 +17,7 @@ LIB_DEPENDS= libftdi.so:${PORTSDIR}/devel/libftdi \ libconfuse.so:${PORTSDIR}/devel/libconfuse \ libargp.so:${PORTSDIR}/devel/argp-standalone -USES= iconv cmake compiler:c++11-lang +USES= cmake compiler:c++11-lang iconv:wchar_t #CMAKE_VERBOSE=yes CMAKE_ARGS+=-DGENERATE_MAN=TRUE diff --git a/comms/telldus-core/files/patch-common-CMakeLists.txt b/comms/telldus-core/files/patch-common-CMakeLists.txt deleted file mode 100644 index d8ee6992a54..00000000000 --- a/comms/telldus-core/files/patch-common-CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ ---- common/CMakeLists.txt -+++ common/CMakeLists.txt -@@ -54,16 +54,22 @@ ELSEIF (WIN32) - ) - ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - #### FreeBSD #### -- FIND_LIBRARY(ICONV_LIBRARY iconv) -+ string(REGEX MATCH "(([0-9]+)\\.([0-9]+))-([A-Z0-9])+" FREEBSD "${CMAKE_SYSTEM_VERSION}") -+ set( FREEBSD_RELEASE "${CMAKE_MATCH_1}" ) - ADD_DEFINITIONS( -D_FREEBSD ) - LIST(APPEND telldus-common_SRCS - Event_unix.cpp - EventHandler_unix.cpp - Socket_unix.cpp - ) -- LIST(APPEND telldus-common_LIBRARIES -- ${ICONV_LIBRARY} -- ) -+ -+ # FreeBSD 10 has iconv built in to libc -+ IF(FREEBSD_RELEASE LESS 10) -+ FIND_LIBRARY(ICONV_LIBRARY iconv) -+ LIST(APPEND telldus-common_LIBRARIES -+ ${ICONV_LIBRARY} -+ ) -+ ENDIF () - ELSE (APPLE) - #### Linux #### - ADD_DEFINITIONS( -D_LINUX ) diff --git a/comms/telldus-core/files/patch-common-Strings.cpp b/comms/telldus-core/files/patch-common-Strings.cpp new file mode 100644 index 00000000000..2f3c686c408 --- /dev/null +++ b/comms/telldus-core/files/patch-common-Strings.cpp @@ -0,0 +1,26 @@ +--- common/Strings.cpp.orig 2014-03-31 10:30:09 UTC ++++ common/Strings.cpp +@@ -61,11 +61,7 @@ std::wstring TelldusCore::charToWstring( + char *outString = reinterpret_cast<char*>(new wchar_t[utf8Length+1]); + memset(outString, 0, sizeof(wchar_t)*(utf8Length+1)); + +-#ifdef _FREEBSD +- const char *inPointer = inString; +-#else + char *inPointer = inString; +-#endif + char *outPointer = outString; + + iconv_t convDesc = iconv_open(WCHAR_T_ENCODING, "UTF-8"); +@@ -206,11 +202,7 @@ std::string TelldusCore::wideToString(co + char *outString = new char[outbytesLeft]; + memset(outString, 0, sizeof(*outString)*(outbytesLeft)); + +-#ifdef _FREEBSD +- const char *inPointer = inString; +-#else + char *inPointer = inString; +-#endif + char *outPointer = outString; + + iconv_t convDesc = iconv_open("UTF-8", WCHAR_T_ENCODING); |