* 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
This commit is contained in:
25
pkgs/development/libraries/libxml2/setup-hook.sh
Normal file
25
pkgs/development/libraries/libxml2/setup-hook.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
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
|
||||
Reference in New Issue
Block a user