remove gethostent.o, since this destroys gethostbyname from libc. move to main tree.
authorMarkus Duft <mduft@gentoo.org>
Tue, 16 Aug 2011 08:46:31 +0000 (08:46 +0000)
committerMarkus Duft <mduft@gentoo.org>
Tue, 16 Aug 2011 08:46:31 +0000 (08:46 +0000)
Package-Manager: portage-2.2.01.19011-prefix/cvs/Linux i686

sys-libs/itx-bind/ChangeLog [new file with mode: 0644]
sys-libs/itx-bind/Manifest [new file with mode: 0644]
sys-libs/itx-bind/files/weak.s [new file with mode: 0644]
sys-libs/itx-bind/itx-bind-0.1-r2.ebuild [new file with mode: 0644]
sys-libs/itx-bind/metadata.xml [new file with mode: 0644]

diff --git a/sys-libs/itx-bind/ChangeLog b/sys-libs/itx-bind/ChangeLog
new file mode 100644 (file)
index 0000000..94832b2
--- /dev/null
@@ -0,0 +1,17 @@
+# ChangeLog for sys-libs/itx-bind
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/itx-bind/ChangeLog,v 1.1 2011/08/16 08:45:06 mduft Exp $
+
+*itx-bind-0.1-r2 (16 Aug 2011)
+
+  16 Aug 2011; Markus Duft <mduft@gentoo.org> +itx-bind-0.1-r2.ebuild,
+  +metadata.xml:
+  remove gethostent.o, since this destroys gethostbyname from libc. move to
+  main tree.
+
+*itx-bind-0.1 (15 Jan 2010)
+
+  15 Jan 2010; Markus Duft <mduft@gentoo.org> +itx-bind-0.1.ebuild,
+  +files/weak.s, +metadata.xml:
+  initial version of itx-bind
+
diff --git a/sys-libs/itx-bind/Manifest b/sys-libs/itx-bind/Manifest
new file mode 100644 (file)
index 0000000..1b006b9
--- /dev/null
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX weak.s 6060 RMD160 e18a7d0d87918b095b8b6d9c7e5e814da49d33a1 SHA1 f080e5b71af214b93946c4721d5c172819f087cd SHA256 6ba259ee9e1667d16dc705160fd30fc39892ad8a7dd03da37208113c298e19fd
+EBUILD itx-bind-0.1-r2.ebuild 2897 RMD160 c8462034472e6dad15610650eb3dc80a29b9524f SHA1 e6ca81f832c84c1445fb12c2b5d62295b380eacf SHA256 fa7afae6023fdfa5a1e6468643d33bd410cda15fa592cb66c5a6940bc18d9dc8
+MISC ChangeLog 576 RMD160 0e11cce027614169ffc0555dfa844534847fbf49 SHA1 8481205f73574af195d81150296b195aaefadc63 SHA256 b526a552f933129a91bc195153eb9040cc068ec73a81a02115817bde88c118c6
+MISC metadata.xml 443 RMD160 4f9aff95955b0eb884755ab735338c6b83edfe98 SHA1 d42184933b516fbdbabe73e734d27056bf58ac88 SHA256 4fe189ff15cc47e3920fcc964da78f1f94fdf2bf522b91898b40556e4fb4bf44
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iEYEARECAAYFAk5KLmwACgkQaBSIl5HlrrJN/gCfVY++0h543MXGZtB0GLdyLbGe
+zUcAn03kL2PBRUjhN6urXIV8xfg/Lc8g
+=yUq2
+-----END PGP SIGNATURE-----
diff --git a/sys-libs/itx-bind/files/weak.s b/sys-libs/itx-bind/files/weak.s
new file mode 100644 (file)
index 0000000..9efa962
--- /dev/null
@@ -0,0 +1,304 @@
+.extern ___fp_nquery
+.global _fp_nquery
+_fp_nquery:
+       jmp ___fp_nquery
+.extern ___fp_query
+.global _fp_query
+_fp_query:
+       jmp ___fp_query
+.extern ___hostalias
+.global _hostalias
+_hostalias:
+       jmp ___hostalias
+.extern ___p_query
+.global _p_query
+_p_query:
+       jmp ___p_query
+.extern ___res_close
+.global _res_close
+_res_close:
+       jmp ___res_close
+.extern ___res_init
+.global _res_init
+_res_init:
+       jmp ___res_init
+.extern ___res_isourserver
+.global _res_isourserver
+_res_isourserver:
+       jmp ___res_isourserver
+.extern ___res_mkquery
+.global _res_mkquery
+_res_mkquery:
+       jmp ___res_mkquery
+.extern ___res_query
+.global _res_query
+_res_query:
+       jmp ___res_query
+.extern ___res_querydomain
+.global _res_querydomain
+_res_querydomain:
+       jmp ___res_querydomain
+.extern ___res_search
+.global _res_search
+_res_search:
+       jmp ___res_search
+.extern ___res_send
+.global _res_send
+_res_send:
+       jmp ___res_send
+.extern ___res_sendsigned
+.global _res_sendsigned
+_res_sendsigned:
+       jmp ___res_sendsigned
+.extern ___b64_ntop
+.global _b64_ntop
+_b64_ntop:
+       jmp ___b64_ntop
+.extern ___b64_pton
+.global _b64_pton
+_b64_pton:
+       jmp ___b64_pton
+.extern ___dn_comp
+.global _dn_comp
+_dn_comp:
+       jmp ___dn_comp
+.extern ___dn_count_labels
+.global _dn_count_labels
+_dn_count_labels:
+       jmp ___dn_count_labels
+.extern ___dn_expand
+.global _dn_expand
+_dn_expand:
+       jmp ___dn_expand
+.extern ___dn_skipname
+.global _dn_skipname
+_dn_skipname:
+       jmp ___dn_skipname
+.extern ___fp_resstat
+.global _fp_resstat
+_fp_resstat:
+       jmp ___fp_resstat
+.extern ___loc_aton
+.global _loc_aton
+_loc_aton:
+       jmp ___loc_aton
+.extern ___loc_ntoa
+.global _loc_ntoa
+_loc_ntoa:
+       jmp ___loc_ntoa
+.extern ___p_cdname
+.global _p_cdname
+_p_cdname:
+       jmp ___p_cdname
+.extern ___p_cdnname
+.global _p_cdnname
+_p_cdnname:
+       jmp ___p_cdnname
+.extern ___p_class
+.global _p_class
+_p_class:
+       jmp ___p_class
+.extern ___p_fqname
+.global _p_fqname
+_p_fqname:
+       jmp ___p_fqname
+.extern ___p_fqnname
+.global _p_fqnname
+_p_fqnname:
+       jmp ___p_fqnname
+.extern ___p_option
+.global _p_option
+_p_option:
+       jmp ___p_option
+.extern ___p_secstodate
+.global _p_secstodate
+_p_secstodate:
+       jmp ___p_secstodate
+.extern ___p_section
+.global _p_section
+_p_section:
+       jmp ___p_section
+.extern ___p_time
+.global _p_time
+_p_time:
+       jmp ___p_time
+.extern ___p_type
+.global _p_type
+_p_type:
+       jmp ___p_type
+.extern ___p_rcode
+.global _p_rcode
+_p_rcode:
+       jmp ___p_rcode
+.extern ___p_sockun
+.global _p_sockun
+_p_sockun:
+       jmp ___p_sockun
+.extern ___putlong
+.global _putlong
+_putlong:
+       jmp ___putlong
+.extern ___putshort
+.global _putshort
+_putshort:
+       jmp ___putshort
+.extern ___res_dnok
+.global _res_dnok
+_res_dnok:
+       jmp ___res_dnok
+.extern ___res_findzonecut
+.global _res_findzonecut
+_res_findzonecut:
+       jmp ___res_findzonecut
+.extern ___res_findzonecut2
+.global _res_findzonecut2
+_res_findzonecut2:
+       jmp ___res_findzonecut2
+.extern ___res_hnok
+.global _res_hnok
+_res_hnok:
+       jmp ___res_hnok
+.extern ___res_hostalias
+.global _res_hostalias
+_res_hostalias:
+       jmp ___res_hostalias
+.extern ___res_mailok
+.global _res_mailok
+_res_mailok:
+       jmp ___res_mailok
+.extern ___res_nameinquery
+.global _res_nameinquery
+_res_nameinquery:
+       jmp ___res_nameinquery
+.extern ___res_nclose
+.global _res_nclose
+_res_nclose:
+       jmp ___res_nclose
+.extern ___res_ninit
+.global _res_ninit
+_res_ninit:
+       jmp ___res_ninit
+.extern ___res_nmkquery
+.global _res_nmkquery
+_res_nmkquery:
+       jmp ___res_nmkquery
+.extern ___res_pquery
+.global _res_pquery
+_res_pquery:
+       jmp ___res_pquery
+.extern ___res_nquery
+.global _res_nquery
+_res_nquery:
+       jmp ___res_nquery
+.extern ___res_nquerydomain
+.global _res_nquerydomain
+_res_nquerydomain:
+       jmp ___res_nquerydomain
+.extern ___res_nsearch
+.global _res_nsearch
+_res_nsearch:
+       jmp ___res_nsearch
+.extern ___res_nsend
+.global _res_nsend
+_res_nsend:
+       jmp ___res_nsend
+.extern ___res_nsendsigned
+.global _res_nsendsigned
+_res_nsendsigned:
+       jmp ___res_nsendsigned
+.extern ___res_ownok
+.global _res_ownok
+_res_ownok:
+       jmp ___res_ownok
+.extern ___res_queriesmatch
+.global _res_queriesmatch
+_res_queriesmatch:
+       jmp ___res_queriesmatch
+.extern ___res_randomid
+.global _res_randomid
+_res_randomid:
+       jmp ___res_randomid
+.extern ___sym_ntop
+.global _sym_ntop
+_sym_ntop:
+       jmp ___sym_ntop
+.extern ___sym_ntos
+.global _sym_ntos
+_sym_ntos:
+       jmp ___sym_ntos
+.extern ___sym_ston
+.global _sym_ston
+_sym_ston:
+       jmp ___sym_ston
+.extern ___res_nopt
+.global _res_nopt
+_res_nopt:
+       jmp ___res_nopt
+.extern ___res_ndestroy
+.global _res_ndestroy
+_res_ndestroy:
+       jmp ___res_ndestroy
+.extern ___res_nametoclass
+.global _res_nametoclass
+_res_nametoclass:
+       jmp ___res_nametoclass
+.extern ___res_nametotype
+.global _res_nametotype
+_res_nametotype:
+       jmp ___res_nametotype
+.extern ___res_setservers
+.global _res_setservers
+_res_setservers:
+       jmp ___res_setservers
+.extern ___res_getservers
+.global _res_getservers
+_res_getservers:
+       jmp ___res_getservers
+.extern ___res_buildprotolist
+.global _res_buildprotolist
+_res_buildprotolist:
+       jmp ___res_buildprotolist
+.extern ___res_destroyprotolist
+.global _res_destroyprotolist
+_res_destroyprotolist:
+       jmp ___res_destroyprotolist
+.extern ___res_destroyservicelist
+.global _res_destroyservicelist
+_res_destroyservicelist:
+       jmp ___res_destroyservicelist
+.extern ___res_get_nibblesuffix
+.global _res_get_nibblesuffix
+_res_get_nibblesuffix:
+       jmp ___res_get_nibblesuffix
+.extern ___res_get_nibblesuffix2
+.global _res_get_nibblesuffix2
+_res_get_nibblesuffix2:
+       jmp ___res_get_nibblesuffix2
+.extern ___res_ourserver_p
+.global _res_ourserver_p
+_res_ourserver_p:
+       jmp ___res_ourserver_p
+.extern ___res_protocolname
+.global _res_protocolname
+_res_protocolname:
+       jmp ___res_protocolname
+.extern ___res_protocolnumber
+.global _res_protocolnumber
+_res_protocolnumber:
+       jmp ___res_protocolnumber
+.extern ___res_send_setqhook
+.global _res_send_setqhook
+_res_send_setqhook:
+       jmp ___res_send_setqhook
+.extern ___res_send_setrhook
+.global _res_send_setrhook
+_res_send_setrhook:
+       jmp ___res_send_setrhook
+.extern ___res_servicename
+.global _res_servicename
+_res_servicename:
+       jmp ___res_servicename
+.extern ___res_servicenumber
+.global _res_servicenumber
+_res_servicenumber:
+       jmp ___res_servicenumber
diff --git a/sys-libs/itx-bind/itx-bind-0.1-r2.ebuild b/sys-libs/itx-bind/itx-bind-0.1-r2.ebuild
new file mode 100644 (file)
index 0000000..f217612
--- /dev/null
@@ -0,0 +1,93 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/itx-bind/itx-bind-0.1-r2.ebuild,v 1.1 2011/08/16 08:45:06 mduft Exp $
+
+EAPI=2
+
+inherit toolchain-funcs
+
+DESCRIPTION="the bind library for interix"
+HOMEPAGE="http://dev.gentoo.org/~mduft"
+SRC_URI=""
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="-* ~x86-interix"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_install() {
+       # scratch together the pieces of the bind installation from all over the
+       # place on different interix systems, and copy the files to the local
+       # prefix installation.
+
+       if [[ -d /usr/local/bind ]]; then
+               # layout as of vista onwards.
+               local incdir="/usr/local/bind/include"
+               local libdir="/usr/local/lib/bind"
+       else
+               # layout of xp and server 2003
+               local incdir="/usr/local/include/bind"
+               local libdir="/usr/local/lib/bind"
+
+               # windows xp has a silly bug in the installer it seems:
+               [[ -x "${incdir}/sys" ]] || chmod a+x "${incdir}/sys"
+       fi
+
+       insinto /usr/include/bind
+
+       for obj in "${incdir}"/*; do
+               [[ -f "${obj}" ]] && doins    "${obj}"
+               [[ -d "${obj}" ]] && doins -r "${obj}"
+       done
+
+       cd "${T}"
+       # wrap some symbols for the sake of configure link test. the libbind names
+       # symbols differently than required (some extra underscores), and renames
+       # them through the headers. however this is not enough, if configure checks
+       # don't include header files ... :(
+       $(tc-getCC) -c "${FILESDIR}"/weak.s
+
+       mkdir "${T}"/link || die "cannot mkdir"
+       cd "${T}"/link
+
+       # now for the _magic_ part...
+       ar -x "${libdir}/libbind.a"
+       # permissions are _totally_ broken here...
+       chmod 666 *.o
+
+       # remove the gethostent.o file, since the contained gethostbyname* functions
+       # seem to not work on older interixen, whereas the libc contained versions
+       # do work well enough.
+       rm gethostent.o
+
+       # find libdb.a from the system - need the _oold_ one...
+       local mydb=
+
+       for mydb in \
+                       "/usr/lib/x86/libdb.a" \
+                       "/usr/lib/libdb.a"; do
+               if test -f "${mydb}"; then
+                       break
+               fi
+       done
+
+       # this needs a _stoneage_ berkeley db, so we really need to take the
+       # systems instead if installing db ourselves. newer db's don't have the
+       # requested symbols (they do support it, but with a different name). Another
+       # option would be to generate wrapper symbols for the things needed, but i'd
+       # rather avoid doing so, since i don't know them all.
+       $(tc-getCC) -shared -Wl,-h,libbind.so.${PV} -o libbind.so.${PV} *.o \
+               ../weak.o "${mydb}" || die "cannot link shared libbind"
+
+       dolib.so libbind.so.${PV}
+
+       # to prevent accidental linking during configure tests of packages which are
+       # not prepared for itx-bind, install things in a separate directory.
+       # packages need to explicitly add this and the include directory for this to
+       # work!
+       dosym ../libbind.so.${PV} /usr/lib/bind/libbind.so
+       dosym ../libbind.so.${PV} /usr/lib/bind/libresolv.so # mean, huh? :)
+}
diff --git a/sys-libs/itx-bind/metadata.xml b/sys-libs/itx-bind/metadata.xml
new file mode 100644 (file)
index 0000000..d7e5191
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+<email>mduft@gentoo.org</email>
+<name>Markus Duft</name>
+</maintainer>
+<longdescription lang="en">
+               bind library based on the interix' host bind library. the host library
+               is linked into a shared library, wrapping some symbols to more common names
+</longdescription>
+</pkgmetadata>
+