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 /converters/libiconv | |
parent | f04a4518f0a5a0ff6bd706dc17a0016965d1ee39 (diff) | |
download | freebsd-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/Makefile | 9 | ||||
-rw-r--r-- | converters/libiconv/files/patch-include-iconv.h.in | 59 |
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 */ |