summary refs log blame commit diff
path: root/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
blob: ef7b1f93d74e4265f70a4fe97a2cf19453090993 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
                                                                                   
 
   
 
                                                                                
                             





                                                           
                    
 

                                                











                                                                                                                 
 





                                                                                           





                                                                                                             
             
 
    
 

                          
                                                                    








                                                                                     



                             
                                                                    
 

                                                  
 
{ 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 ];
  };
}