diff options
author | Tijl Coosemans <tijl@FreeBSD.org> | 2015-04-15 08:20:27 +0000 |
---|---|---|
committer | Tijl Coosemans <tijl@FreeBSD.org> | 2015-04-15 08:20:27 +0000 |
commit | 074ea5282a00d556c73d86231bec5444990597dc (patch) | |
tree | eec3d608e84e79f0187985e5a1e29cd4f04f13eb /textproc/ctpp2 | |
parent | - Add CPE info (diff) |
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)
Notes
Notes:
svn path=/head/; revision=384038
Diffstat (limited to 'textproc/ctpp2')
-rw-r--r-- | textproc/ctpp2/Makefile | 12 | ||||
-rw-r--r-- | textproc/ctpp2/files/patch-src-CTPP2StringIconvOutputCollector.cpp | 20 | ||||
-rw-r--r-- | textproc/ctpp2/files/patch-src-functions-FnIconv.cpp | 20 |
3 files changed, 49 insertions, 3 deletions
diff --git a/textproc/ctpp2/Makefile b/textproc/ctpp2/Makefile index f226da73cfa0..54bb662c9ca1 100644 --- a/textproc/ctpp2/Makefile +++ b/textproc/ctpp2/Makefile @@ -3,14 +3,14 @@ PORTNAME= ctpp2 PORTVERSION= 2.8.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= textproc devel MASTER_SITES= http://ctpp.havoc.ru/download/ MAINTAINER= vg@FreeBSD.org COMMENT= C++ library to use templates in C/C++ projects, version 2 -USES= cmake gettext iconv:build compiler:c++11-lang +USES= cmake gettext iconv compiler:c++11-lang USE_LDCONFIG= yes PLIST_SUB+= PORTVERSION=${PORTVERSION} @@ -41,4 +41,10 @@ OPTIMIZATION_CMAKE_OFF= -DENABLE_OPTIMIZATION=OFF PORTDOCS= template_language.html -.include <bsd.port.mk> +.include <bsd.port.pre.mk> + +.if empty(ICONV_LIB) +CMAKE_ARGS+= -DSKIP_ICONV_LIRARY:STRING=ON +.endif + +.include <bsd.port.post.mk> diff --git a/textproc/ctpp2/files/patch-src-CTPP2StringIconvOutputCollector.cpp b/textproc/ctpp2/files/patch-src-CTPP2StringIconvOutputCollector.cpp new file mode 100644 index 000000000000..8fa6c070dd53 --- /dev/null +++ b/textproc/ctpp2/files/patch-src-CTPP2StringIconvOutputCollector.cpp @@ -0,0 +1,20 @@ +--- src/CTPP2StringIconvOutputCollector.cpp.orig 2012-08-02 07:22:44 UTC ++++ src/CTPP2StringIconvOutputCollector.cpp +@@ -56,7 +56,7 @@ StringIconvOutputCollector::StringIconvO + throw CTPPCharsetRecodeException(sSrcEnc.c_str(), sDstEnc.c_str()); + } + +-#if (_LIBICONV_VERSION >= 0x0108) ++#if (_LIBICONV_VERSION >= 0x0108) || defined(__FreeBSD__) + int iFlag = 1; + // Discard illegal characters + if (iFlags & C_ICONV_DISCARD_ILSEQ) { iconvctl(oIconv, ICONV_SET_DISCARD_ILSEQ, &iFlag); } +@@ -85,7 +85,7 @@ INT_32 StringIconvOutputCollector::Colle + size_t iDstLength = CTPP_ESCAPE_BUFFER_LEN; + + char aDstData[CTPP_ESCAPE_BUFFER_LEN]; +-#if defined(linux) || defined(__APPLE__) ++#if defined(linux) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) + char * aSrcData = (char *)vData; + #else + const char * aSrcData = (const char *)vData; diff --git a/textproc/ctpp2/files/patch-src-functions-FnIconv.cpp b/textproc/ctpp2/files/patch-src-functions-FnIconv.cpp new file mode 100644 index 000000000000..6c30f7cb2691 --- /dev/null +++ b/textproc/ctpp2/files/patch-src-functions-FnIconv.cpp @@ -0,0 +1,20 @@ +--- src/functions/FnIconv.cpp.orig 2012-08-02 07:22:44 UTC ++++ src/functions/FnIconv.cpp +@@ -145,7 +145,7 @@ INT_32 FnIconv::Handler(CDT * + } + } + +-#if (_LIBICONV_VERSION >= 0x0108) ++#if (_LIBICONV_VERSION >= 0x0108) || defined(__FreeBSD__) + int iFlag = 1; + // Discard illegal characters + if (iFlags & C_ICONV_DISCARD_ILSEQ) +@@ -173,7 +173,7 @@ INT_32 FnIconv::Handler(CDT * + size_t iDstLength = CTPP_ESCAPE_BUFFER_LEN; + + char aDstData[CTPP_ESCAPE_BUFFER_LEN]; +-#if defined(linux) || defined(__APPLE__) ++#if defined(linux) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) + char * aSrcData = (char *)sWhat.data(); + #else + const char * aSrcData = (const char *)sWhat.data(); |