diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/text/sgml/opensp')
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/opensp/default.nix | 48 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/text/sgml/opensp/setup-hook.sh | 22 |
2 files changed, 70 insertions, 0 deletions
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..6924c8953eef --- /dev/null +++ b/nixpkgs/pkgs/tools/text/sgml/opensp/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchurl, fetchpatch, xmlto, docbook_xml_dtd_412 +, libxslt, docbook_xsl, autoconf, automake, gettext, libiconv, libtool}: + +stdenv.mkDerivation rec { + pname = "opensp"; + version = "1.5.2"; + + src = fetchurl { + url = "mirror://sourceforge/openjade/OpenSP-${version}.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 |