diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
commit | c4625b175f8200f643fd6e11010932ea44c78433 (patch) | |
tree | bce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/data/sgml+xml | |
parent | 49f735974dd103039ddc4cb576bb76555164a9e7 (diff) | |
parent | d661aa56a8843e991261510c1bb28fdc2f6975ae (diff) |
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie
git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7
git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/data/sgml+xml')
14 files changed, 367 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix new file mode 100644 index 000000000000..68bc6101d03c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "docbook5"; + version = "5.0.1"; + + src = fetchurl { + url = "http://www.docbook.org/xml/${version}/docbook-${version}.zip"; + sha256 = "1iz3hq1lqgnshvlz4j9gvh4jy1ml74qf90vqf2ikbq0h4i2xzybs"; + }; + + 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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix new file mode 100644 index 000000000000..0faad5b594f6 --- /dev/null +++ b/infra/libkookie/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"; + + dontUnpack = 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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix new file mode 100644 index 000000000000..4b0ced9daaea --- /dev/null +++ b/infra/libkookie/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"; + + dontUnpack = 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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix new file mode 100644 index 000000000000..a3b7067b2a42 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/docbook-ebnf.cat b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/docbook-ebnf.cat new file mode 100644 index 000000000000..896a8338f118 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix new file mode 100644 index 000000000000..de126da9f909 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix new file mode 100644 index 000000000000..f894db24827e --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix new file mode 100644 index 000000000000..dc2ec36ccef7 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix new file mode 100644 index 000000000000..93b03d854572 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix new file mode 100644 index 000000000000..5bdb63e69da2 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix new file mode 100644 index 000000000000..41c4b73d3f62 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix new file mode 100644 index 000000000000..383a8750f1f8 --- /dev/null +++ b/infra/libkookie/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/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch new file mode 100644 index 000000000000..72922eee96c4 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch @@ -0,0 +1,10 @@ +--- a/catalog.xml ++++ b/catalog.xml +@@ -5,4 +5,7 @@ + <rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl@suffix@/current/" rewritePrefix="./"/> + <rewriteURI uriStartString="http://cdn.docbook.org/release/xsl@suffix@/@version@/" rewritePrefix="./"/> + <rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl@suffix@/@version@/" rewritePrefix="./"/> ++ <!-- legacy URIs --> ++ <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl@legacySuffix@/current/" rewritePrefix="./"/> ++ <rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl@legacySuffix@/current/" rewritePrefix="./"/> + </catalog> diff --git a/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix new file mode 100644 index 000000000000..28737253af5e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix @@ -0,0 +1,86 @@ +{ lib, stdenv, substituteAll, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }: + +let + + common = { pname, sha256, suffix ? "" }: let + legacySuffix = if suffix == "-nons" then "" else "-ns"; + self = stdenv.mkDerivation rec { + inherit pname; + version = "1.79.2"; + + src = fetchurl { + url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2"; + inherit sha256; + }; + + patches = [ + # Prevent a potential stack overflow + # https://github.com/docbook/xslt10-stylesheets/pull/37 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch"; + sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3"; + stripLen = "1"; + }) + + # Fix reproducibility by respecting generate.consistent.ids in indexes + # https://github.com/docbook/xslt10-stylesheets/pull/88 + # https://sourceforge.net/p/docbook/bugs/1385/ + (fetchpatch { + url = "https://github.com/docbook/xslt10-stylesheets/commit/07631601e6602bc49b8eac3aab9d2b35968d3e7a.patch"; + sha256 = "0igfhcr6hzcydqsnjsd181h5yl3drjnrwdmxcybr236m8255vkq3"; + stripLen = "1"; + }) + + # Add legacy sourceforge.net URIs to the catalog + (substituteAll { + src = ./catalog-legacy-uris.patch; + inherit legacySuffix suffix version; + }) + ]; + + propagatedBuildInputs = [ findXMLCatalogs ]; + + dontBuild = true; + + installPhase = '' + dst=$out/share/xml/${pname} + mkdir -p $dst + rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp + mv * $dst/ + + # Backwards compatibility. Will remove eventually. + mkdir -p $out/xml/xsl + ln -s $dst $out/xml/xsl/docbook + + # More backwards compatibility + ln -s $dst $out/share/xml/docbook-xsl${legacySuffix} + ''; + + 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-nons = common { + pname = "docbook-xsl-nons"; + suffix = "-nons"; + sha256 = "00i1hdyxim8jymv2dz68ix3wbs5w6isxm8ijb03qk3vs1g59x2zf"; + }; + + docbook-xsl-ns = common { + pname = "docbook-xsl-ns"; + sha256 = "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i"; + }; +} |