diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/text/sgml')
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/jade/default.nix | 39 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/openjade/default.nix | 26 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/openjade/msggen.patch | 34 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/opensp/default.nix | 47 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh | 22 |
5 files changed, 168 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/text/sgml/jade/default.nix b/nixpkgs/pkgs/tools/text/sgml/jade/default.nix new file mode 100644 index 000000000000..338520b4df2b --- /dev/null +++ b/nixpkgs/pkgs/tools/text/sgml/jade/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, gnum4 }: + +stdenv.mkDerivation rec { + name = "jade-${version}-${debpatch}"; + version = "1.2.1"; + debpatch = "47.3"; + + src = fetchurl { + url = "ftp://ftp.jclark.com/pub/jade/jade-${version}.tar.gz"; + sha256 = "84e2f8a2a87aab44f86a46b71405d4f919b219e4c73e03a83ab6c746a674b187"; + }; + + patchsrc = fetchurl { + url = "http://ftp.debian.org/debian/pool/main/j/jade/jade_${version}-${debpatch}.diff.gz"; + sha256 = "8e94486898e3503308805f856a65ba5b499a6f21994151270aa743de48305464"; + }; + + patches = [ patchsrc ]; + + buildInputs = [ gnum4 ]; + + NIX_CFLAGS_COMPILE = "-Wno-deprecated"; + + preInstall = '' + install -d -m755 "$out"/lib + ''; + + postInstall = '' + mv "$out/bin/sx" "$out/bin/sgml2xml" + ''; + + meta = { + description = "James Clark's DSSSL Engine"; + license = "custom"; + homepage = "http://www.jclark.com/jade/"; + platforms = with lib.platforms; linux; + maintainers = with lib.maintainers; [ e-user ]; + }; +} diff --git a/nixpkgs/pkgs/tools/text/sgml/openjade/default.nix b/nixpkgs/pkgs/tools/text/sgml/openjade/default.nix new file mode 100644 index 000000000000..785ef3205967 --- /dev/null +++ b/nixpkgs/pkgs/tools/text/sgml/openjade/default.nix @@ -0,0 +1,26 @@ +{ lib, stdenv, fetchurl, opensp, perl }: + +stdenv.mkDerivation rec { + name = "openjade-1.3.2"; + + src = fetchurl { + url = "mirror://sourceforge/openjade/${name}.tar.gz"; + sha256 = "1l92sfvx1f0wmkbvzv1385y1gb3hh010xksi1iyviyclrjb7jb8x"; + }; + + patches = [ ./msggen.patch ]; + + buildInputs = [ opensp perl ]; + + configureFlags = [ + "--enable-spincludedir=${opensp}/include/OpenSP" + "--enable-splibdir=${opensp}/lib" + ]; + + meta = { + description = "An implementation of DSSSL, an ISO standard for formatting SGML (and XML) documents"; + license = lib.licenses.mit; + homepage = "http://openjade.sourceforge.net/"; + platforms = lib.platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/tools/text/sgml/openjade/msggen.patch b/nixpkgs/pkgs/tools/text/sgml/openjade/msggen.patch new file mode 100644 index 000000000000..d59573fa49cf --- /dev/null +++ b/nixpkgs/pkgs/tools/text/sgml/openjade/msggen.patch @@ -0,0 +1,34 @@ +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-text/openjade/files/openjade-1.3.2-msggen.pl.patch?revision=1.2 + +Use Getopt::Std in place of getopts.pl. +https://bugs.gentoo.org/show_bug.cgi?id=420083 + +--- a/msggen.pl ++++ b/msggen.pl +@@ -4,6 +4,7 @@ + # See the file COPYING for copying permission. + + use POSIX; ++use Getopt::Std; + + # Package and version. + $package = 'openjade'; +@@ -18,8 +19,7 @@ + undef $opt_l; + undef $opt_p; + undef $opt_t; +-do 'getopts.pl'; +-&Getopts('l:p:t:'); ++getopts('l:p:t:'); + $module = $opt_l; + $pot_file = $opt_p; + +@@ -72,7 +72,7 @@ + else { + $field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");; + $type[$num] = substr($field[0], 0, 1); +- $argc = int(substr($field[0], 1, 1)); ++ $argc = substr($field[0], 1, 1); + } + $nargs[$num] = $argc; + $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag"); diff --git a/nixpkgs/pkgs/tools/text/sgml/opensp/default.nix b/nixpkgs/pkgs/tools/text/sgml/opensp/default.nix new file mode 100644 index 000000000000..1c9131d29dc5 --- /dev/null +++ b/nixpkgs/pkgs/tools/text/sgml/opensp/default.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412 +, libxslt, docbook_xsl, autoconf, automake, gettext, libiconv, libtool}: + +stdenv.mkDerivation { + name = "opensp-1.5.2"; + + src = fetchurl { + url = "mirror://sourceforge/openjade/OpenSP-1.5.2.tar.gz"; + sha256 = "1khpasr6l0a8nfz6kcf3s81vgdab8fm2dj291n5r2s53k228kx2p"; + }; + + postPatch = '' + sed -i s,/usr/share/sgml/docbook/xml-dtd-4.1.2/,${docbook_xml_dtd_412}/xml/dtd/docbook/, \ + docsrc/*.xml + ''; + + patches = [ + (fetchpatch { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/opensp/files/opensp-1.5.2-c11-using.patch?id=688d9675782dfc162d4e6cff04c668f7516118d0"; + sha256 = "04q14s8qsad0bkjmj067dn831i0r6v7742rafdlnbfm5y249m2q6"; + }) + ]; + + setupHook = ./setup-hook.sh; + + postFixup = '' + # Remove random ids in the release notes + sed -i -e 's/href="#idm.*"//g' $out/share/doc/OpenSP/releasenotes.html + sed -i -e 's/name="idm.*"//g' $out/share/doc/OpenSP/releasenotes.html + ''; + + preConfigure = if stdenv.isCygwin then "autoreconf -fi" else null; + + # need autoconf, automake, gettext, and libtool for reconfigure + nativeBuildInputs = lib.optionals stdenv.isCygwin [ autoconf automake libtool ]; + + buildInputs = [ xmlto docbook_xml_dtd_412 libxslt docbook_xsl gettext libiconv ]; + + doCheck = false; # fails + + meta = { + description = "A suite of SGML/XML processing tools"; + license = lib.licenses.mit; + homepage = "http://openjade.sourceforge.net/"; + platforms = lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh b/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh new file mode 100644 index 000000000000..5bace3c66889 --- /dev/null +++ b/nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh @@ -0,0 +1,22 @@ +addSGMLCatalogs () { + if test -d $1/sgml/dtd; then + for i in $(find $1/sgml/dtd -name docbook.cat); do + export SGML_CATALOG_FILES="${SGML_CATALOG_FILES:+:}$i" + done + fi +} + +if test -z "${sgmlHookDone-}"; then + sgmlHookDone=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/ + + export SGML_CATALOG_FILES + addEnvHooks "$targetOffset" addSGMLCatalogs +fi |