diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/data/sgml+xml | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-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')
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"> |