diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2007-10-18 21:08:47 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2007-10-18 21:08:47 +0000 |
commit | eaa4db148dc402f7a124bc9c17583067710a7814 (patch) | |
tree | 91178298375eb468e36b34f44e24d9b6c8343cbc | |
parent | f6073d7f348309397e30f6bc1ec1127d244756ae (diff) | |
download | nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.tar nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.tar.gz nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.tar.bz2 nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.tar.lz nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.tar.xz nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.tar.zst nixpkgs-eaa4db148dc402f7a124bc9c17583067710a7814.zip |
* 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
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 3 | ||||
-rw-r--r-- | pkgs/desktops/gnome/scrollkeeper.nix | 4 | ||||
-rw-r--r-- | pkgs/desktops/gnome/xmlcatalog.patch | 37 | ||||
-rw-r--r-- | pkgs/development/libraries/libxml2/default.nix | 8 | ||||
-rw-r--r-- | pkgs/development/libraries/libxml2/setup-hook.sh | 25 | ||||
-rw-r--r-- | pkgs/development/libraries/libxslt/default.nix | 7 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 |
7 files changed, 42 insertions, 48 deletions
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 0c330c161f3..6410e9c053a 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -2,7 +2,8 @@ { stdenv, fetchurl, pkgconfig, audiofile , flex, bison, popt, perl, zlib, libxml2, libxslt -, perlXMLParser, docbook_xml_dtd_42, gettext, x11, libtiff, libjpeg +, perlXMLParser, docbook_xml_dtd_42, docbook_xml_dtd_412 +, gettext, x11, libtiff, libjpeg , libpng, gtkLibs, xlibs, bzip2, libcm, python, dbus_glib, ncurses , which, libxml2Python, iconnamingutils }: diff --git a/pkgs/desktops/gnome/scrollkeeper.nix b/pkgs/desktops/gnome/scrollkeeper.nix index ffdbe065912..105d585b39f 100644 --- a/pkgs/desktops/gnome/scrollkeeper.nix +++ b/pkgs/desktops/gnome/scrollkeeper.nix @@ -4,7 +4,9 @@ stdenv.mkDerivation { inherit (input) name src; - patches = [./xmlcatalog.patch]; + preConfigure = " + substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog + "; buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt]; configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat"; } diff --git a/pkgs/desktops/gnome/xmlcatalog.patch b/pkgs/desktops/gnome/xmlcatalog.patch deleted file mode 100644 index 77313819fce..00000000000 --- a/pkgs/desktops/gnome/xmlcatalog.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -rrc scrollkeeper-orig/extract/dtds/Makefile.in scrollkeeper-0.3.14/extract/dtds/Makefile.in -*** scrollkeeper-orig/extract/dtds/Makefile.in 2003-12-06 09:18:01.000000000 +0100 ---- scrollkeeper-0.3.14/extract/dtds/Makefile.in 2005-03-08 19:22:27.000000000 +0100 -*************** -*** 408,414 **** - - # ScrollKeeper OMF Variation DTD V1.0 - install-data-hook: -! -/usr/bin/xmlcatalog --noout --add "public" \ - "-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \ - "$(dtdsdir)/scrollkeeper-omf.dtd" $(CATALOG) - ---- 408,414 ---- - - # ScrollKeeper OMF Variation DTD V1.0 - install-data-hook: -! -xmlcatalog --noout --add "public" \ - "-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \ - "$(dtdsdir)/scrollkeeper-omf.dtd" $(CATALOG) - -*************** -*** 418,424 **** - - # ScrollKeeper OMF Variation DTD V1.0 - uninstall-local: -! -/usr/bin/xmlcatalog --noout --del \ - "$(dtdsdir)/scrollkeeper-omf.dtd" $(CATALOG) - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. ---- 418,424 ---- - - # ScrollKeeper OMF Variation DTD V1.0 - uninstall-local: -! -xmlcatalog --noout --del \ - "$(dtdsdir)/scrollkeeper-omf.dtd" $(CATALOG) - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 89f0a443f56..7f1e120e775 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -4,12 +4,12 @@ assert zlib != null; assert pythonSupport -> python != null; stdenv.mkDerivation { - name = "libxml2-2.6.29"; + name = "libxml2-2.6.30"; builder = ./builder.sh; src = fetchurl { - url = ftp://xmlsoft.org/libxml2/libxml2-2.6.29.tar.gz; - sha256 = "14jrjvdbvlbc3m0q9p3np67sk18w317n5zfg9a3h7b6pp7h1jjp3"; + url = ftp://xmlsoft.org/libxml2/libxml2-2.6.30.tar.gz; + sha256 = "0pkk6cw0qd56kz2fkn768dcygbb4ncyvvmvyfiyli1a7yjh64xw7"; }; python = if pythonSupport then python else null; @@ -17,4 +17,6 @@ stdenv.mkDerivation { buildInputs = if pythonSupport then [python] else []; propagatedBuildInputs = [zlib]; + + postInstall = "ensureDir $out/nix-support; cp ${./setup-hook.sh} $out/nix-support/setup-hook"; } diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh new file mode 100644 index 00000000000..df1155d1809 --- /dev/null +++ b/pkgs/development/libraries/libxml2/setup-hook.sh @@ -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 diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 69efd18753e..896d0fc563b 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -3,10 +3,11 @@ assert libxml2 != null; stdenv.mkDerivation { - name = "libxslt-1.1.21"; + name = "libxslt-1.1.22"; src = fetchurl { - url = ftp://xmlsoft.org/libxml2/libxslt-1.1.21.tar.gz; - sha256 = "1q2lzdp75lx9w4mxgg99znnk94aacn34m7csmbf2kdwvnb7d9vyc"; + url = ftp://xmlsoft.org/libxml2/libxslt-1.1.22.tar.gz; + sha256 = "1nj9pvn4ibhwxpl3ry9n6d7jahppcnqc7mi87nld4vsr2vp3j7sf"; }; buildInputs = [libxml2]; + postInstall = "ensureDir $out/nix-support; ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/"; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5bb4134d268..f700278211d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4067,9 +4067,9 @@ rec { gnome = recurseIntoAttrs (import ../desktops/gnome { inherit fetchurl stdenv pkgconfig audiofile flex bison popt zlib libxml2 libxslt - perl perlXMLParser docbook_xml_dtd_42 gettext x11 - libtiff libjpeg libpng gtkLibs xlibs bzip2 libcm - python dbus_glib ncurses which libxml2Python + perl perlXMLParser docbook_xml_dtd_42 docbook_xml_dtd_412 + gettext x11 libtiff libjpeg libpng gtkLibs xlibs bzip2 + libcm python dbus_glib ncurses which libxml2Python iconnamingutils; }); |