This library provides an iconv() implementation, for use on systems which
don't have one, or whose implementation cannot convert from/to Unicode.
It can convert from any of these encodings to any other, through Unicode
conversion. It has also some limited support for transliteration, i.e.
when a character cannot be represented in the target character set, it can
be approximated through one or several similarly looking characters.
libiconv is for you if your application needs to support multiple character
encodings, but that support lacks from your system.
See either README or website for the list of supported encodings.
WWW: http://www.gnu.org/software/libiconv/

Affects: 10-CURRENT users with any port depending on converters/libiconv

Author: madpilot@FreeBSD.org

Reason:
10-CURRENT after r254273 (committed on August 13, 2013) has an
implementation of iconv enabled by default in libc.
NOTE: after r341775 (committed on January 29, 2014) and other
following commits, a few ports, including devel/glib20, depend
on the converters/libiconv again due to missing functionality in the
base iconv implementation.
Due to this change some major overhauling of the ports tree has
been necessary to move the ports to using that implementation.
People using pkgng binary packages should have little problems,
"pkg upgrade" will update all software to not depend on libiconv
anymore, once updated packages are available. Please make sure to
perform a "pkg autoremove" after that and check that libiconv is
correctly removed by it.
If you are using ports the update requires some manual intervention.
The following procedure should be followed:
# pkg query %ro libiconv >ports_to_update
# pkg delete -f libiconv
# cat ports_to_update | xargs portmaster
or:
# pkg query %ro libiconv >ports_to_update
# pkg delete -f libiconv
# cat ports_to_update | xargs portupgrade -f

2013-03-16

Affects: users of converters/libiconv and devel/gettext

Author: bapt@FreeBSD.org

Reason:
libiconv now handles the lib/charset.alias file instead of devel/gettext.
If you are using pkgng 'and' upgrading from source with portupgrade or
portmaster, first delete gettext, upgrade libiconv, then reinstall gettext.
This will break sudo, so you *must* do this in a root shell (sudo -i)
if you use sudo.
# pkg delete -f devel/gettext
# portmaster converters/libiconv devel/gettext
or
# pkg delete -f devel/gettext
# portupgrade converters/libiconv devel/gettext

Remove iconv(), iconv_open() and iconv_close() symbols from libiconv.
These were FreeBSD specific aliases for libiconv(), libiconv_open() and
libiconv_close() that are now also provided by libc which complicates
writing configure tests that work correctly when both libc iconv and
libiconv are available.
Also, because the libiconv iconv.h header redefines iconv* to libiconv*
correct use of the header implies that the aliases aren't used.
The following ports needed fixes because there was something wrong with
the way they tried to detect or use iconv:
audio/deadbeef: Remove LIBICONV_PLUG from a source file. It's a
compile-time option and should not be set in source code.

MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight

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

Split devel/gettext in devel/gettext-runtime and devel/gettext-tools. The
first contains runtime libraries such as libintl and the latter contains
developer tools such as msgfmt. Ports that use gettext will usually need
a LIB_DEPENDS on gettext-runtime and a BUILD_DEPENDS on gettext-tools.
USES=gettext-runtime can be used to set a LIB/BUILD/RUN_DEPENDS on
devel/gettext-runtime and USES=gettext-tools can be used to set a
BUILD/RUN_DEPENDS on devel/gettext-tools. USES=gettext is now the same
as "USES=gettext-runtime gettext-tools" meaning a LIB_DEPENDS on
devel/gettext-runtime and a BUILD_DEPENDS on devel/gettext-tools.
Update gettext to 0.19.3.
Remove :oldver from converters/libiconv and devel/gettext-runtime. Leave
symlinks with the old library versions to avoid the need to bump
PORTREVISION on a large number of dependent ports. When most of the
dependent ports have had normal version updates, PORTREVISION can be
bumped on the remaining ones (low number) and the links can be removed.
Fix some ports that installed files in lib/locale instead of share/locale.
PR: 194038
Reviewed by: bapt
Exp-run: antoine
Approved by: portmgr (antoine)

Remove *.la files from stagedir to fix a check-plist error.
The files were accidentally removed from pkg-plist in the previous commit
but let's keep it that way now.
This commit will be reverted when this port switches from "libtool:oldver"
to "libtool".
Reported by: ohauer

- Add two new arguments to USES=iconv so ports can indicate they use GNU
iconv extensions that the base system iconv doesn't support yet:
* wchar_t: port uses the special WCHAR_T character conversion.
* translit: port uses //TRANSLIT or //IGNORE conversion options.
Adding one or both of these arguments makes the port depend on
converters/libiconv for now.
- Allow installation of converters/libiconv on FreeBSD 10+.
- Use ICONV_CONFIGURE_ARG in devel/gettext instead of defining CPPFLAGS
and LDFLAGS to fix compilation with libiconv installed.
- Stage converters/libiconv and devel/gettext.
Approved by: bapt (on trust)

Allow users to install converters/libiconv on 10.x systems if they
decided to build world with WITHOUT_ICONV set. There's no need for
this check to be based on OSVERSION.
Some users (i.e. me), report subtle application breakages with the
iconv-from-src that disappear when iconv-from-ports is installed.
Allow for a bridge till these issues are sorted out.
Approved by: portmgr (bdrewery)

- Make ports use the libc provided iconv implementation on 10-CURRENT
after r254273
- Fix a bunch of ports to properly work after this
- Mark converters/libiconv as IGNORE for systems with iconv in libc
Reviewed by: bapt
Approved by: portmgr (bapt)
Discussed with: bapt, bsam (who both contributed ideas and code)

Remove USE_AUTOTOOLS=libtool. This was added in r183830 because the bundled
libtool at the time didn't handle the removal of objformat correctly.
Also revert r239611. This revision was because the libtool port and the bundled
libtool at the time detect "clang" as a valid C compiler.
PR: ports/179753
Submitted by: tijl@

Fix a long standing bug of lib/charset.alias being overwritten, modified, and
badly tracked by ports.
Make lib/charset.alias a file only provided by converters/libiconv
Create a new USES: charsetfix, that will modify in post patch the Makefile.in to
prevent a port from modifying/overwritting the charset.alias file during make
install.
Prevent devel/gettext from installing that files.
Fix a couple of ports that actually touch charset.alias during the build phase.
Based on a patch by ale
(http://lists.freebsd.org/pipermail/freebsd-gnome/2012-October/027747.html)
Approved by: kwm (gnome)
Exp-run by: miwi

-Repocopy devel/libtool15 -> libtool22 and libltdl15 -> libltdl22.
-Update libtool and libltdl to 2.2.6a.
-Remove devel/libtool15 and devel/libltdl15.
-Fix ports build with libtool22/libltdl22.
-Bump ports that depend on libltdl22 due to shared library version change.
-Explain what to do update in the UPDATING.
It has been tested with GNOME2, XFCE4, KDE3, KDE4 and other many wm/desktop
and applications in the runtime.
With help: marcus and kwm
Pointyhat-exp: a few times by pav
Tested by: pgollucci, "Romain TartiÃ¨re" <romain@blogreen.org>, and
a few MarcusCom CVS users. Also, I might have missed a few.
Repocopy by: marcus
Approved by: portmgr

Presenting GNOME 2.20.1 and all related works for FreeBSD. The official
GNOME 2.20 release notes can be found at
http://www.gnome.org/start/2.20/notes/en/ . Beyond that, this update
includes the new GIMP 2.4 (courtesy of ahze).
The GNOME 2.20 update also includes a huge change in the FreeBSD GNOME
hierarchy. We are now using the more standard DATADIR of ${PREFIX}/share
rather than ${PREFIX}/share/gnome. The result is that fewer patches and
hacks are needed to port GNOME components to FreeBSD. This will mean some
user changes may be required, so be sure to read /usr/ports/UPDATING for
more details.
This release and the things we accomplished in it would not have been
possible without mezz's crazy idea to collapse DATADIR, and his persistence
to make it happen successfully. Ahze and pav also deserve thanks for

Mass-conversion to the USE_AUTOTOOLS New World Order. The code present
in bsd.autotools.mk essentially makes this a no-op given that all the
old variables set a USE_AUTOTOOLS_COMPAT variable, which is parsed in
exactly the same way as USE_AUTOTOOLS itself.
Moreover, USE_AUTOTOOLS has already been extensively tested by the GNOME
team -- all GNOME 2.12.x ports use it.
Preliminary documentation can be found at:
http://people.FreeBSD.org/~ade/autotools.txt
which is in the process of being SGMLized before introduction into the
Porters Handbook.
Light blue touch-paper. Run.

Apply a big libtool patch to allow porters to use the libtool installed by
the libtoolX ports instead of the one included with each port. Ports that
set USE_LIBTOOL_VER=X will now use the ports version of libtool instead of
the included version. To restore previous behavior, use the new macro,
USE_INC_LIBTOOL_VER. Both macros accept the same argument: a libtool version.
For example, to use the ports version of libtool-1.5, add the following to
your Makefile:
USE_LIBTOOL_VER= 15
To use the included version of libtool with extra hacks provided by
libtool-1.5, add the following to your Makefile:
USE_INC_LIBTOOL_VER= 15
With this change, ports that had to add additional libtool hacks to prevent
.la files from being installed or to fix certain threading issues can now
delete those hacks (after appropriate testing, of course).
PR: 63944
Based on work by:eik and marcus
Approved by: ade (autotools maintainer)
Tested by: kris on pointyhat
Bound to be hidden problems: You bet

Whoa there, boy, that's a mighty big commit y'all have there...
Begin autotools sanitization sequence by requiring ports to explicitly
specify which version of {libtool,autoconf,automake} they need, erasing
the concept of a "system default".
For ports-in-waiting:
USE_LIBTOOL=YES -> USE_LIBTOOL_VER=13
USE_AUTOCONF=YES -> USE_AUTOCONF_VER=213
USE_AUTOMAKE=YES -> USE_AUTOMAKE_VER=14
Ports attempting to use the old style system after June 1st 2004 will be
sorely disappointed.

As it was advertised more than a month ago complete giconv -> iconv
conversion by removing code which installs compatibility `g'-symlinks. This
change is likely to break the following ports:
ports/x11-wm/icewm
ports/databases/grass
Please blame their maintainers, not me.

Iconv cleanup, stage 1a: remove `g' prefix from binaries, headers, libraries and
manpages installed by libiconv (aka GNU iconv) and add similar `b'-prefixes
into components installed by iconv (aka BSD iconv). The reason why we do this
is because unfortunately BSD iconv become abadonware (author doesn't maintain
it anymore), while number of ports that need functional iconv library grows
very fast, thus creating significant overhead due to patches needed to make
ports working with prefixed GNU iconv. For compatibility reasons create
symlinks in GNU iconv, so that all ports that expect GNU iconv to have `g'
prefix should work unmodified until all those `g'-hacks are wiped out.
Prompted by: ache
Reviewed by (in principle): freebsd-ports, freebsd-gnome

Upgrade to 1.7... Run included tests after the build... Maintainers (gnome@)
were informed a couple of days ago, but are impressively silent and I've been
using KDE/libxml2 linked against this library since with no problem.