po4a: formatting cleanup
This commit is contained in:
parent
740610b826
commit
b7ef78ce9a
@ -1,15 +1,37 @@
|
||||
{ stdenv, lib, fetchurl, docbook_xsl, docbook_xsl_ns, gettext, libxslt, glibcLocales, docbook_xml_dtd_412, docbook_sgml_dtd_41, opensp, bash
|
||||
, perl, buildPerlPackage, ModuleBuild, TextWrapI18N, LocaleGettext, TermReadKey, SGMLSpm, UnicodeLineBreak, PodParser, YAMLTiny
|
||||
, fetchpatch, writeShellScriptBin
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, docbook_xsl
|
||||
, docbook_xsl_ns
|
||||
, gettext
|
||||
, libxslt
|
||||
, glibcLocales
|
||||
, docbook_xml_dtd_412
|
||||
, docbook_sgml_dtd_41
|
||||
, opensp
|
||||
, bash
|
||||
, perl
|
||||
, buildPerlPackage
|
||||
, ModuleBuild
|
||||
, TextWrapI18N
|
||||
, LocaleGettext
|
||||
, SGMLSpm
|
||||
, UnicodeLineBreak
|
||||
, PodParser
|
||||
, YAMLTiny
|
||||
, fetchpatch
|
||||
, writeShellScriptBin
|
||||
}:
|
||||
|
||||
buildPerlPackage rec {
|
||||
pname = "po4a";
|
||||
version = "0.62";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
|
||||
sha256 = "0eb510a66f59de68cf7a205342036cc9fc08b39334b91f1456421a5f3359e68b";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# make devdoc output reproducible
|
||||
@ -20,25 +42,54 @@ buildPerlPackage rec {
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs =
|
||||
# the tests for the tex-format use kpsewhich -- texlive's file finding utility.
|
||||
# We don't want to depend on texlive here, so we replace it with a minimal
|
||||
# shellscript that suffices for the tests in t/fmt/tex/, i.e. it looks up
|
||||
# article.cls to an existing file, but doesn't find article-wrong.cls.
|
||||
let kpsewhich-stub = writeShellScriptBin "kpsewhich"
|
||||
''[[ $1 = "article.cls" ]] && echo /dev/null'';
|
||||
let
|
||||
kpsewhich-stub = writeShellScriptBin "kpsewhich"
|
||||
''[[ $1 = "article.cls" ]] && echo /dev/null'';
|
||||
in
|
||||
[ gettext libxslt docbook_xsl docbook_xsl_ns ModuleBuild docbook_xml_dtd_412 docbook_sgml_dtd_41 opensp kpsewhich-stub glibcLocales ];
|
||||
propagatedBuildInputs = lib.optional (!stdenv.hostPlatform.isMusl) TextWrapI18N ++ [ LocaleGettext SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
|
||||
[
|
||||
gettext
|
||||
libxslt
|
||||
docbook_xsl
|
||||
docbook_xsl_ns
|
||||
ModuleBuild
|
||||
docbook_xml_dtd_412
|
||||
docbook_sgml_dtd_41
|
||||
opensp
|
||||
kpsewhich-stub
|
||||
glibcLocales
|
||||
];
|
||||
|
||||
# TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build
|
||||
propagatedBuildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [
|
||||
TextWrapI18N
|
||||
] ++ [
|
||||
LocaleGettext
|
||||
SGMLSpm
|
||||
UnicodeLineBreak
|
||||
PodParser
|
||||
YAMLTiny
|
||||
];
|
||||
|
||||
buildInputs = [ bash ];
|
||||
|
||||
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";
|
||||
|
||||
buildPhase = ''
|
||||
perl Build.PL --install_base=$out --install_path="lib=$out/${perl.libPrefix}"
|
||||
./Build build
|
||||
'';
|
||||
|
||||
# Disabling tests on musl
|
||||
# Void linux package have investigated the failure and tracked it down to differences in gettext behavior. They decided to disable tests.
|
||||
@ -53,12 +104,14 @@ buildPerlPackage rec {
|
||||
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 = {
|
||||
description = "Tools for helping translation of documentation";
|
||||
homepage = "https://po4a.org";
|
||||
|
Loading…
Reference in New Issue
Block a user