nixpkgs/pkgs/development/libraries/libxml2/setup-hook.sh
Eelco Dolstra eaa4db148d * libxml2 / libxslt: provide a setup hook that prevents xmllint and
xsltproc from downloading DTDs from the network, which is impure.
  This caused a lot of problems with Gnome builds in the build farm,
  because those downloads are slow and would sometimes fail.

  The setup hook also sets up $XML_CATALOG_FILES.

svn path=/nixpkgs/trunk/; revision=9471
2007-10-18 21:08:47 +00:00

26 lines
886 B
Bash

addXMLCatalogs () {
if test -d $1/xml/dtd; then
for i in $(find $1/xml/dtd -name catalog.xml); do
export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
done
fi
}
if test -z "$libxmlHookDone"; then
libxmlHookDone=1
# Set http_proxy and ftp_proxy to a invalid host to prevent
# xmllint and xsltproc from trying to download DTDs from the
# network even when --nonet is not given. That would be impure.
# (Note that .invalid is a reserved domain guaranteed not to
# work.)
export http_proxy=http://nodtd.invalid/
export ftp_proxy=http://nodtd.invalid/
# Set up XML_CATALOG_FILES. An empty initial value prevents
# xmllint and xsltproc from looking in /etc/xml/catalog.
export XML_CATALOG_FILES
if test -z "$XML_CATALOG_FILES"; then XML_CATALOG_FILES=" "; fi
envHooks=(${envHooks[@]} addXMLCatalogs)
fi