about summary refs log tree commit diff
path: root/nixpkgs/pkgs/data/sgml+xml
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/data/sgml+xml
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/data/sgml+xml')
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix35
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix37
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix37
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix25
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/docbook-ebnf.cat2
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix27
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix13
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix13
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix13
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix13
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix23
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix32
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix66
-rw-r--r--nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch30
14 files changed, 366 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
new file mode 100644
index 000000000000..4986101584e1
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "docbook5-5.0";
+
+  src = fetchurl {
+    url = http://www.docbook.org/xml/5.0/docbook-5.0.zip;
+    sha256 = "13i04dkd709f0p5f2413sf2y9321pfi4y85ynf8wih6ryphnbk9x";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  installPhase =
+    ''
+      dst=$out/share/xml/docbook-5.0
+      mkdir -p $dst
+      cp -prv * $dst/
+
+      substituteInPlace $dst/catalog.xml --replace 'uri="' "uri=\"$dst/"
+
+      rm -rf $dst/docs $dst/ChangeLog
+
+      # Backwards compatibility. Will remove eventually.
+      mkdir -p $out/xml/rng $out/xml/dtd
+      ln -s $dst/rng $out/xml/rng/docbook
+      ln -s $dst/dtd $out/xml/dtd/docbook
+    '';
+
+  meta = {
+    description = "Schemas for DocBook 5.0, a semantic markup language for technical documentation";
+    homepage = https://docbook.org/xml/5.0/;
+    maintainers = [ lib.maintainers.eelco ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix
new file mode 100644
index 000000000000..cc71e0026324
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, unzip }:
+
+let
+
+  src = fetchurl {
+    url = http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip;
+    sha256 = "0f25ch7bywwhdxb1qa0hl28mgq1blqdap3rxzamm585rf4kis9i0";
+  };
+
+  isoents = fetchurl {
+    url = http://www.oasis-open.org/cover/ISOEnts.zip;
+    sha256 = "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w";
+  };
+
+in
+
+stdenv.mkDerivation {
+  name = "docbook-sgml-3.1";
+
+  unpackPhase = "true";
+
+  nativeBuildInputs = [ unzip ];
+
+  installPhase =
+    ''
+      o=$out/sgml/dtd/docbook-3.1
+      mkdir -p $o
+      cd $o
+      unzip ${src}
+      unzip ${isoents}
+      sed -e "s/iso-/ISO/" -e "s/.gml//" -i docbook.cat
+    '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix
new file mode 100644
index 000000000000..dc7ebf5959da
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, unzip }:
+
+let
+
+  src = fetchurl {
+    url = http://www.oasis-open.org/docbook/sgml/4.1/docbk41.zip;
+    sha256 = "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany";
+  };
+
+  isoents = fetchurl {
+    url = http://www.oasis-open.org/cover/ISOEnts.zip;
+    sha256 = "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w";
+  };
+
+in
+
+stdenv.mkDerivation {
+  name = "docbook-sgml-4.1";
+
+  unpackPhase = "true";
+
+  nativeBuildInputs = [ unzip ];
+
+  installPhase =
+    ''
+      o=$out/sgml/dtd/docbook-4.1
+      mkdir -p $o
+      cd $o
+      unzip ${src}
+      unzip ${isoents}
+      sed -e "s/iso-/ISO/" -e "s/.gml//" -i docbook.cat
+    '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix
new file mode 100644
index 000000000000..3d8e16443dbf
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "docbook-xml-ebnf-1.2b1";
+
+  dtd = fetchurl {
+    url = http://www.docbook.org/xml/ebnf/1.2b1/dbebnf.dtd;
+    sha256 = "0min5dsc53my13b94g2yd65q1nkjcf4x1dak00bsc4ckf86mrx95";
+  };
+  catalog = ./docbook-ebnf.cat;
+
+  unpackPhase = ''
+    mkdir -p $out/xml/dtd/docbook-ebnf
+    cd $out/xml/dtd/docbook-ebnf
+  '';
+
+  installPhase = ''
+    cp -p $dtd dbebnf.dtd
+    cp -p $catalog $(stripHash $catalog)
+  '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/docbook-ebnf.cat b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/docbook-ebnf.cat
new file mode 100644
index 000000000000..896a8338f118
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/docbook-ebnf.cat
@@ -0,0 +1,2 @@
+PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
+       "dbebnf.dtd"
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
new file mode 100644
index 000000000000..35e69641f116
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, unzip, findXMLCatalogs}:
+
+let
+
+  # Urgh, DocBook 4.1.2 doesn't come with an XML catalog.  Use the one
+  # from 4.2.
+  docbook42catalog = fetchurl {
+    url = http://www.docbook.org/xml/4.2/catalog.xml;
+    sha256 = "18lhp6q2l0753s855r638shkbdwq9blm6akdjsc9nrik24k38j17";
+  };
+
+in
+
+import ./generic.nix {
+  inherit stdenv unzip findXMLCatalogs;
+  name = "docbook-xml-4.1.2";
+  src = fetchurl {
+    url = http://www.docbook.org/xml/4.1.2/docbkx412.zip;
+    sha256 = "0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h";
+  };
+  postInstall = "
+    sed 's|V4.2|V4.1.2|g' < ${docbook42catalog} > catalog.xml
+  ";
+  meta = {
+    branch = "4.1.2";
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
new file mode 100644
index 000000000000..f8c827e826d0
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, unzip, findXMLCatalogs}:
+
+import ./generic.nix {
+  inherit stdenv unzip findXMLCatalogs;
+  name = "docbook-xml-4.2";
+  src = fetchurl {
+    url = http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip;
+    sha256 = "acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa2";
+  };
+  meta = {
+    branch = "4.2";
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
new file mode 100644
index 000000000000..2c253a1029d6
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, unzip, findXMLCatalogs}:
+
+import ./generic.nix {
+  inherit stdenv unzip findXMLCatalogs;
+  name = "docbook-xml-4.3";
+  src = fetchurl {
+    url = http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip;
+    sha256 = "0r1l2if1z4wm2v664sqdizm4gak6db1kx9y50jq89m3gxaa8l1i3";
+  };
+  meta = {
+    branch = "4.3";
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix
new file mode 100644
index 000000000000..d051d205808b
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, unzip, findXMLCatalogs}:
+
+import ./generic.nix {
+  inherit stdenv unzip findXMLCatalogs;
+  name = "docbook-xml-4.4";
+  src = fetchurl {
+    url = http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip;
+    sha256 = "141h4zsyc71sfi2zzd89v4bb4qqq9ca1ri9ix2als9f4i3mmkw82";
+  };
+  meta = {
+    branch = "4.4";
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
new file mode 100644
index 000000000000..156ee653bbe3
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, unzip, findXMLCatalogs}:
+
+import ./generic.nix {
+  inherit stdenv unzip findXMLCatalogs;
+  name = "docbook-xml-4.5";
+  src = fetchurl {
+    url = http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip;
+    sha256 = "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf";
+  };
+  meta = {
+    branch = "4.5";
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
new file mode 100644
index 000000000000..41c4b73d3f62
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
@@ -0,0 +1,23 @@
+{ stdenv, unzip, src, name, postInstall ? "true", meta ? {}, findXMLCatalogs }:
+
+stdenv.mkDerivation {
+  inherit src name postInstall;
+
+  nativeBuildInputs = [unzip];
+  propagatedNativeBuildInputs = [ findXMLCatalogs ];
+
+  unpackPhase = ''
+    mkdir -p $out/xml/dtd/docbook
+    cd $out/xml/dtd/docbook
+    unpackFile $src
+  '';
+
+  installPhase = ''
+    find . -type f -exec chmod -x {} \;
+    runHook postInstall
+  '';
+
+  meta = meta // {
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix
new file mode 100644
index 000000000000..54ef5225d2f1
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, libxml2 }:
+
+stdenv.mkDerivation {
+  name = "xhtml1-20020801";
+
+  src = fetchurl {
+    url = http://www.w3.org/TR/xhtml1/xhtml1.tgz;
+    sha256 = "0rr0d89i0z75qvjbm8il93bippx09hbmjwy0y2sj44n9np69x3hl";
+  };
+
+  nativeBuildInputs = [ libxml2 ];
+
+  installPhase =
+    ''
+      mkdir -p $out/xml/dtd/xhtml1
+      cp DTD/*.ent DTD/*.dtd $out/xml/dtd/xhtml1
+
+      # Generate an XML catalog.
+      cat=$out/xml/dtd/xhtml1/catalog.xml
+      xmlcatalog --noout --create $cat
+      grep PUBLIC DTD/*.soc | while read x; do
+          eval a=($x)
+          xmlcatalog --noout --add public "''${a[1]}" "''${a[2]}" $cat 
+      done
+    ''; # */
+
+  meta = {
+    homepage = http://www.w3.org/TR/xhtml1/;
+    description = "DTDs for XHTML 1.0, the Extensible HyperText Markup Language";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
new file mode 100644
index 000000000000..ef7b1f93d74e
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -0,0 +1,66 @@
+{ lib, stdenv, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
+
+let
+
+  common = { pname, sha256, patches ? [] }: let self = stdenv.mkDerivation rec {
+    name = "${pname}-1.79.1";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/docbook/${name}.tar.bz2";
+      inherit sha256;
+    };
+
+    inherit patches;
+
+    propagatedBuildInputs = [ findXMLCatalogs ];
+
+    dontBuild = true;
+
+    installPhase = ''
+      dst=$out/share/xml/${pname}
+      mkdir -p $dst
+      rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
+      mv * $dst/
+
+      # Backwards compatibility. Will remove eventually.
+      mkdir -p $out/xml/xsl
+      ln -s $dst $out/xml/xsl/docbook
+    '';
+
+    passthru.dbtoepub = writeScriptBin "dbtoepub"
+      ''
+        #!${bash}/bin/bash
+        exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@"
+      '';
+
+    meta = {
+      homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
+      description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
+      maintainers = [ lib.maintainers.eelco ];
+      platforms = lib.platforms.all;
+    };
+  }; in self;
+
+in {
+
+  docbook_xsl = common {
+    pname = "docbook-xsl";
+    sha256 = "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj";
+
+    patches = [(fetchpatch {
+      name = "potential-infinite-template-recursion.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/"
+          + "plain/docbook-style-xsl-non-recursive-string-subst.patch?id=bf9e5d16fd";
+      sha256 = "1pfb468bsj3j879ip0950waih0r1s6rzfbm2p70glbz0g3903p7h";
+      stripLen = "1";
+    })];
+
+  };
+
+  docbook_xsl_ns = common {
+    pname = "docbook-xsl-ns";
+    sha256 = "170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin";
+
+    patches = [ ./docbook-xsl-ns-infinite.patch ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch b/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch
new file mode 100644
index 000000000000..5729f9b43c80
--- /dev/null
+++ b/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch
@@ -0,0 +1,30 @@
+Description: Remove infinite recursion
+Attribute: docbook5_xsl
+Version: 1.79.1
+URL: https://github.com/NixOS/nixpkgs/issues/39090
+diff -ru a/lib/lib.xsl b/lib/lib.xsl
+--- a/lib/lib.xsl	2015-12-26 15:15:37.000000000 -0800
++++ b/lib/lib.xsl	2018-03-22 11:52:45.311949264 -0700
+@@ -11,8 +11,10 @@
+ 
+      ******************************************************************** -->
+ <xsl:stylesheet exclude-result-prefixes="d"
+-                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook"
+-version="1.0">
++                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++                xmlns:d="http://docbook.org/ns/docbook"
++                xmlns:str="http://exslt.org/strings"
++                version="1.0">
+ 
+ <xsl:template name="dot.count">
+   <!-- Returns the number of "." characters in a string -->
+@@ -58,6 +61,9 @@
+   <xsl:param name="replacement"/>
+ 
+   <xsl:choose>
++    <xsl:when test="function-available('str:replace')">
++      <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
++    </xsl:when>
+     <xsl:when test="contains($string, $target)">
+       <xsl:variable name="rest">
+         <xsl:call-template name="string.subst">