summaryrefslogtreecommitdiff
path: root/dev-libs/libiconv
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libiconv')
-rw-r--r--dev-libs/libiconv/Manifest10
-rw-r--r--dev-libs/libiconv/files/libiconv-1.14-no-gets.patch22
-rw-r--r--dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch20
-rw-r--r--dev-libs/libiconv/files/libiconv-1.15-no-gets.patch22
-rw-r--r--dev-libs/libiconv/libiconv-1.14-r1.ebuild52
-rw-r--r--dev-libs/libiconv/libiconv-1.14-r2.ebuild55
-rw-r--r--dev-libs/libiconv/libiconv-1.14.ebuild43
-rw-r--r--dev-libs/libiconv/libiconv-1.15.ebuild65
-rw-r--r--dev-libs/libiconv/metadata.xml17
9 files changed, 306 insertions, 0 deletions
diff --git a/dev-libs/libiconv/Manifest b/dev-libs/libiconv/Manifest
new file mode 100644
index 000000000000..3e52919bd7f8
--- /dev/null
+++ b/dev-libs/libiconv/Manifest
@@ -0,0 +1,10 @@
+AUX libiconv-1.14-no-gets.patch 836 BLAKE2B 9385fdfb2c924ae30ddef79a40bd8778a09f7da5da0adf085cb114a40670186d186036607c77d1665469a1ebe2082fe93d3967058502a0b7a5a418854963e647 SHA512 3bb04769c46964d4357aba57b16a2cbdb5c666d839d46fcc0a11be945da9e855f5e0682c2dccd2fd66baab74e3429040849c503e9bcd05e53962f7680b2c0713
+AUX libiconv-1.15-no-aix-tweaks.patch 981 BLAKE2B 37d0ce998456bb2c07b249c22e8cd0d1eaad48c1d5b40e774d368923f764b6030a090e414fcb9851e32a9d582691dc70fc04da4d67386db53489db2feaed6895 SHA512 0318b24af8671043ee9e5c547734f6f768ef21b122b23ab95f7d1a5dcfe6c2c9579db87633a765e9bc83915d2097d3e2f3b6320cdf094106e3bf87b72d05d461
+AUX libiconv-1.15-no-gets.patch 796 BLAKE2B 19eeadf7bbfb96c5c7d2037af18d55162d81bba61b2dc022dfc19ce25534fe72eea1b29424f662c199fb6769fdd412a00cb2d5cb0e41af75f435f3ee16d83efc SHA512 39c32470cb802d74ee6f97071e74a4cedc8374cf60b50f470ca318066fe45a71ed89c5c77dc7b3e70f0a3a33ccca7beedf6e96863a431515e957883467325bde
+DIST libiconv-1.14.tar.gz 4984397 BLAKE2B 8697bbff9b929e8a30157f271ba3216aef7b2f0020f5edd273f3cec249069fb23f58ae13cbe3d3bb502c27e97e7cccae66aba23017ab4f6bce11b2ec133ef684 SHA512 b96774fefc4fa1d07948fcc667027701373c34ebf9c4101000428e048addd85a5bb5e05e59f80eb783a3054a3a8a3c0da909450053275bbbf3ffde511eb3f387
+DIST libiconv-1.15.tar.gz 5264188 BLAKE2B 2384dbf8549fa56e841b15b7e2698b83c0ee171cdff13aef48c60eae0bc4f5e7b2e937bc8d5eddf89fba11412d17bebd77bdda7060c177ce9dc9be00172c0c12 SHA512 1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a
+EBUILD libiconv-1.14-r1.ebuild 1373 BLAKE2B 629f36e0d54ec3afb2b64d4924b76ee2ccf28b8f0b7c55f657c394af02ff03e7e6335a703c1ad4ac9e2c7bb9e624fcd8f0cf6a43b95aa6b1b8148d621fd4485c SHA512 3cdaf12a9b67cf10de8aaae1b3bbc238b7f3e218d44832b1317cf9b1ded10996fa44b2bba9a7ea5b655b07afced1db3e85c42a5794baacbe91cb96ebc05c7112
+EBUILD libiconv-1.14-r2.ebuild 1503 BLAKE2B 63e874be4500aee2da3d4ebb087f7eef6d706a53a4a34041a5e1bbb0b2402a5b136f6cdfae916449f05d8d9cd42b3c432429f574cc591a8f03305d772560c56f SHA512 1d2d8226fec24e201dbeb7490b2ddbc602e1824ca77b18d058b16e013690e321852060e2e4908b0145dfe159c3f9fc54da416ccbb8a6f3ecbd3c1968aca1d16b
+EBUILD libiconv-1.14.ebuild 974 BLAKE2B f84a1b7666c247ac4a85f0ae05a1dbe5202175023ac9308b7d7af5f3083382af8df7c81d0d6d7c1e0ded4c209eec6a267eaef6092e4ee56b7628ed405e4441e2 SHA512 3d6fa4773eeab09c7c01fc0dc4bc5239556657818d9f77baaf7436c9c6746d044dd3e2131d498f5b436aeb26b997807ddf76efe320ab454a0555d6fc24e6e38b
+EBUILD libiconv-1.15.ebuild 1925 BLAKE2B 04fed0a91f55722d8e253f2558e2abd6f944996c5ef4386c6578507b9e383339bd28043cc98442c7ee02966c18a9ce5b039348bf80ba211b90c505ce3982692e SHA512 8ac083bf616cfe8ecb6aed325e1902b8296dd23f6469cc64d1f3a86efd960c654faad94b3bcbec8af2661ef8b88e52727cd3e6e710bedbc6aace5b7e0a6ddadf
+MISC metadata.xml 564 BLAKE2B 465a39f6ee306925d4eb3f616cba7e08604aff5e94024659df611d45ea96245205a6f257175e862ae63e5a6d31fc549e2104d56a3e970157d25cf315dc820ffa SHA512 7c13a258f15e61b3e5fd3e55411466f8830d83ecc25676d491635037be07b1a35b845ec5a06d56c26ecefb8865149e486e939a72111d1a3e46efc26b87d632a6
diff --git a/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch b/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch
new file mode 100644
index 000000000000..db767ac1dd81
--- /dev/null
+++ b/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch
@@ -0,0 +1,22 @@
+hack until gzip pulls a newer gnulib version
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- a/srclib/stdio.in.h
++++ b/srclib/stdio.in.h
+@@ -695,7 +695,6 @@ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+
+
diff --git a/dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch b/dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch
new file mode 100644
index 000000000000..d554d34564de
--- /dev/null
+++ b/dev-libs/libiconv/files/libiconv-1.15-no-aix-tweaks.patch
@@ -0,0 +1,20 @@
+http://lists.gnu.org/archive/html/bug-gnu-libiconv/2018-05/msg00004.html
+
+--- libiconv-1.15/lib/Makefile.in
++++ libiconv-1.15/lib/Makefile.in
+@@ -100,12 +100,14 @@
+
+ # On AIX, libiconv.a must include the object files of /lib/libiconv.a,
+ # otherwise the setlocale() call fails when invoked from executables linked
+-# with -rpath $(libdir), even if linked without -liconv.
++# with -rpath $(libdir), even if linked without -liconv. However, since
++# the --with-aix-soname flag libtool may not create libiconv.a at all.
+ install : all force
+ if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi
+ $(LIBTOOL_INSTALL) $(INSTALL) libiconv.la $(DESTDIR)$(libdir)/libiconv.la
+ case "@host_os@" in \
+ aix*) (cd $(DESTDIR)$(libdir) && \
++ { test -e libiconv.a || exit 0; } && \
+ objects=`ar t libiconv.a`" "`ar t /lib/libiconv.a` && \
+ ar x libiconv.a && ar x /lib/libiconv.a && \
+ ar q libiconv.new.a $$objects && \
diff --git a/dev-libs/libiconv/files/libiconv-1.15-no-gets.patch b/dev-libs/libiconv/files/libiconv-1.15-no-gets.patch
new file mode 100644
index 000000000000..5bc20b377493
--- /dev/null
+++ b/dev-libs/libiconv/files/libiconv-1.15-no-gets.patch
@@ -0,0 +1,22 @@
+hack until gzip pulls a newer gnulib version
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- a/srclib/stdio.in.h
++++ b/srclib/stdio.in.h
+@@ -744,7 +744,6 @@ _GL_WARN_ON_USE (getline, "getline is un
+ removed it. */
+ #undef gets
+ #if HAVE_RAW_DECL_GETS && !defined __cplusplus
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+
+ #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
diff --git a/dev-libs/libiconv/libiconv-1.14-r1.ebuild b/dev-libs/libiconv/libiconv-1.14-r1.ebuild
new file mode 100644
index 000000000000..059bc00d97ff
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.14-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="https://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="+static-libs"
+
+DEPEND="!sys-libs/glibc
+ !userland_GNU? ( !sys-apps/man-pages )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-no-gets.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ ECONF_SOURCE="${S}" \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+ gen_usr_ldscript -a iconv charset
+
+ # If we have a GNU userland, we probably have sys-apps/man-pages
+ # installed, which means we want to rename our copies #503162.
+ # The use of USELAND=GNU is kind of a hack though ...
+ if use userland_GNU ; then
+ cd "${ED}"/usr/share/man || die
+ local f
+ for f in man*/*.[0-9] ; do
+ mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
+ done
+ fi
+}
diff --git a/dev-libs/libiconv/libiconv-1.14-r2.ebuild b/dev-libs/libiconv/libiconv-1.14-r2.ebuild
new file mode 100644
index 000000000000..54709b52977d
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.14-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="https://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs"
+
+DEPEND="!sys-libs/glibc
+ !userland_GNU? ( !sys-apps/man-pages )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-no-gets.patch
+ eapply_user
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ ECONF_SOURCE="${S}" \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}" -name 'lib*.la' -delete
+
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+ gen_usr_ldscript -a iconv charset
+
+ # If we have a GNU userland, we probably have sys-apps/man-pages
+ # installed, which means we want to rename our copies #503162.
+ # The use of USELAND=GNU is kind of a hack though ...
+ if use userland_GNU ; then
+ cd "${ED}"/usr/share/man || die
+ local f
+ for f in man*/*.[0-9] ; do
+ mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
+ done
+ fi
+}
diff --git a/dev-libs/libiconv/libiconv-1.14.ebuild b/dev-libs/libiconv/libiconv-1.14.ebuild
new file mode 100644
index 000000000000..fc464c4b6e93
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.14.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit libtool toolchain-funcs
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="https://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND="!sys-libs/glibc
+ !sys-apps/man-pages"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Make sure that libtool support is updated to link "the linux way"
+ # on FreeBSD.
+ elibtoolize
+}
+
+src_configure() {
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ --enable-static
+}
+
+src_install() {
+ default
+
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+ gen_usr_ldscript -a iconv charset
+}
diff --git a/dev-libs/libiconv/libiconv-1.15.ebuild b/dev-libs/libiconv/libiconv-1.15.ebuild
new file mode 100644
index 000000000000..c991366b8eff
--- /dev/null
+++ b/dev-libs/libiconv/libiconv-1.15.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
+HOMEPAGE="https://www.gnu.org/software/libiconv/"
+SRC_URI="mirror://gnu/libiconv/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="prefix static-libs"
+
+DEPEND="!sys-libs/glibc
+ !userland_GNU? ( !sys-apps/man-pages )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.15-no-gets.patch"
+ "${FILESDIR}/${PN}-1.15-no-aix-tweaks.patch"
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+multilib_src_configure() {
+ if use prefix ; then
+ # In Prefix we want to have the same header declaration on every
+ # platform, so make configure find that it should do
+ # "const char * *inbuf"
+ export am_cv_func_iconv=no
+ fi
+ # Disable NLS support because that creates a circular dependency
+ # between libiconv and gettext
+ ECONF_SOURCE="${S}" \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}/html" \
+ --disable-nls \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}" -name 'lib*.la' -delete
+
+ # Install in /lib as utils installed in /lib like gnutar
+ # can depend on this
+ gen_usr_ldscript -a iconv charset
+
+ # If we have a GNU userland, we probably have sys-apps/man-pages
+ # installed, which means we want to rename our copies #503162.
+ # The use of USELAND=GNU is kind of a hack though ...
+ if use userland_GNU ; then
+ cd "${ED}"/usr/share/man || die
+ local f
+ for f in man*/*.[0-9] ; do
+ mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
+ done
+ fi
+}
diff --git a/dev-libs/libiconv/metadata.xml b/dev-libs/libiconv/metadata.xml
new file mode 100644
index 000000000000..f2b54580982c
--- /dev/null
+++ b/dev-libs/libiconv/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>bsd@gentoo.org</email>
+ <name>BSD Project</name>
+</maintainer>
+<maintainer type="project">
+ <email>prefix@gentoo.org</email>
+ <name>Prefix Project</name>
+</maintainer>
+<longdescription lang="en">
+libiconv is a standalone package which implements the iconv() related
+functions as glibc already embed. Libraries and applications needs it
+when built in a non-glibc system.
+</longdescription>
+</pkgmetadata>