aboutsummaryrefslogtreecommitdiffstats
path: root/converters/libiconv
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2015-04-15 16:20:27 +0800
committertijl <tijl@FreeBSD.org>2015-04-15 16:20:27 +0800
commitff176a3eb176ed56a19a9ec55117606d2c0c34a4 (patch)
treeeec3d608e84e79f0187985e5a1e29cd4f04f13eb /converters/libiconv
parentf04a4518f0a5a0ff6bd706dc17a0016965d1ee39 (diff)
downloadfreebsd-ports-gnome-ff176a3eb176ed56a19a9ec55117606d2c0c34a4.tar.gz
freebsd-ports-gnome-ff176a3eb176ed56a19a9ec55117606d2c0c34a4.tar.zst
freebsd-ports-gnome-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 'converters/libiconv')
-rw-r--r--converters/libiconv/Makefile9
-rw-r--r--converters/libiconv/files/patch-include-iconv.h.in59
2 files changed, 63 insertions, 5 deletions
diff --git a/converters/libiconv/Makefile b/converters/libiconv/Makefile
index db0824da1261..be7d261b5a24 100644
--- a/converters/libiconv/Makefile
+++ b/converters/libiconv/Makefile
@@ -3,7 +3,7 @@
PORTNAME= libiconv
PORTVERSION= 1.14
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= converters devel
MASTER_SITES= GNU
@@ -12,10 +12,9 @@ COMMENT= Character set conversion library
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-static \
- --without-libintl-prefix \
- --docdir=${DOCSDIR}
-CONFIGURE_ENV= am_cv_func_iconv="yes" \
- am_cv_proto_iconv_arg1="const"
+ --disable-nls \
+ --docdir=${DOCSDIR} \
+ am_cv_func_iconv=no
INSTALL_TARGET= install-strip
MAKE_JOBS_UNSAFE= yes
USES= libtool
diff --git a/converters/libiconv/files/patch-include-iconv.h.in b/converters/libiconv/files/patch-include-iconv.h.in
new file mode 100644
index 000000000000..5f5b86cd2dd3
--- /dev/null
+++ b/converters/libiconv/files/patch-include-iconv.h.in
@@ -0,0 +1,59 @@
+--- include/iconv.h.in.orig 2011-08-07 17:48:03 UTC
++++ include/iconv.h.in
+@@ -94,7 +94,6 @@ extern int iconv_close (iconv_t cd);
+ #endif
+
+
+-#ifndef LIBICONV_PLUG
+
+ /* Nonstandard extensions. */
+
+@@ -127,12 +126,16 @@ typedef struct {
+ /* Allocates descriptor for code conversion from encoding ‘fromcode’ to
+ encoding ‘tocode’ into preallocated memory. Returns an error indicator
+ (0 or -1 with errno set). */
++#ifndef LIBICONV_PLUG
+ #define iconv_open_into libiconv_open_into
++#endif
+ extern int iconv_open_into (const char* tocode, const char* fromcode,
+ iconv_allocation_t* resultp);
+
+ /* Control of attributes. */
++#ifndef LIBICONV_PLUG
+ #define iconvctl libiconvctl
++#endif
+ extern int iconvctl (iconv_t cd, int request, void* argument);
+
+ /* Hook performed after every successful conversion of a Unicode character. */
+@@ -212,7 +215,9 @@ struct iconv_fallbacks {
+ #define ICONV_SET_FALLBACKS 6 /* const struct iconv_fallbacks *argument */
+
+ /* Listing of locale independent encodings. */
++#ifndef LIBICONV_PLUG
+ #define iconvlist libiconvlist
++#endif
+ extern void iconvlist (int (*do_one) (unsigned int namescount,
+ const char * const * names,
+ void* data),
+@@ -224,6 +229,7 @@ extern const char * iconv_canonicalize (
+
+ /* Support for relocatable packages. */
+
++#ifndef LIBICONV_PLUG
+ /* Sets the original and the current installation prefix of the package.
+ Relocation simply replaces a pathname starting with the original prefix
+ by the corresponding pathname with the current prefix instead. Both
+@@ -231,12 +237,12 @@ extern const char * iconv_canonicalize (
+ instead of "/"). */
+ extern void libiconv_set_relocation_prefix (const char *orig_prefix,
+ const char *curr_prefix);
++#endif
+
+ #ifdef __cplusplus
+ }
+ #endif
+
+-#endif
+
+
+ #endif /* _LIBICONV_H */