summary refs log tree commit diff
path: root/pkgs/development/perl-modules/Po4a/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/perl-modules/Po4a/default.nix')
-rw-r--r--pkgs/development/perl-modules/Po4a/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/development/perl-modules/Po4a/default.nix b/pkgs/development/perl-modules/Po4a/default.nix
new file mode 100644
index 00000000000..94d83845e29
--- /dev/null
+++ b/pkgs/development/perl-modules/Po4a/default.nix
@@ -0,0 +1,37 @@
+{ lib, fetchurl, docbook_xsl, docbook_xsl_ns, gettext, libxslt, glibcLocales, docbook_xml_dtd_412, docbook_sgml_dtd_41, texlive, opensp
+, perl, buildPerlPackage, ModuleBuild, TextWrapI18N, LocaleGettext, TermReadKey, SGMLSpm, UnicodeLineBreak, PodParser, YAMLTiny }:
+
+buildPerlPackage rec {
+  pname = "po4a";
+  version = "0.55";
+  src = fetchurl {
+    url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
+    sha256 = "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg";
+  };
+  nativeBuildInputs = [ docbook_xsl docbook_xsl_ns ModuleBuild ];
+  propagatedBuildInputs = [ TextWrapI18N LocaleGettext SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
+  # TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build
+  buildInputs = [ gettext libxslt glibcLocales docbook_xml_dtd_412 docbook_sgml_dtd_41 texlive.combined.scheme-basic opensp ];
+  LC_ALL = "en_US.UTF-8";
+  SGML_CATALOG_FILES = "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
+  preConfigure = ''
+    touch Makefile.PL
+    export PERL_MB_OPT="--install_base=$out --prefix=$out"
+  '';
+  buildPhase = "perl Build.PL --install_base=$out --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build";
+  checkPhase = ''
+    export SGML_CATALOG_FILES=${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
+    ./Build test
+  '';
+  installPhase = ''
+    ./Build install
+    for f in $out/bin/*; do
+      substituteInPlace $f --replace "#! /usr/bin/env perl" "#!${perl}/bin/perl"
+    done
+  '';
+  meta = {
+    homepage = "https://po4a.org/";
+    description = "Tools for helping translation of documentation";
+    license = lib.licenses.gpl2;
+  };
+}