tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
po4a: formatting cleanup
linsui
2 years ago
b7ef78ce
740610b8
+61
-8
1 changed file
expand all
collapse all
unified
split
pkgs
development
perl-modules
Po4a
default.nix
+61
-8
pkgs/development/perl-modules/Po4a/default.nix
···
1
-
{ stdenv, lib, fetchurl, docbook_xsl, docbook_xsl_ns, gettext, libxslt, glibcLocales, docbook_xml_dtd_412, docbook_sgml_dtd_41, opensp, bash
2
-
, perl, buildPerlPackage, ModuleBuild, TextWrapI18N, LocaleGettext, TermReadKey, SGMLSpm, UnicodeLineBreak, PodParser, YAMLTiny
3
-
, fetchpatch, writeShellScriptBin
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
}:
5
6
buildPerlPackage rec {
7
pname = "po4a";
8
version = "0.62";
0
9
src = fetchurl {
10
url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
11
sha256 = "0eb510a66f59de68cf7a205342036cc9fc08b39334b91f1456421a5f3359e68b";
12
};
0
13
patches = [
14
(fetchpatch {
15
# make devdoc output reproducible
···
20
];
21
22
strictDeps = true;
0
23
nativeBuildInputs =
24
# the tests for the tex-format use kpsewhich -- texlive's file finding utility.
25
# We don't want to depend on texlive here, so we replace it with a minimal
26
# shellscript that suffices for the tests in t/fmt/tex/, i.e. it looks up
27
# article.cls to an existing file, but doesn't find article-wrong.cls.
28
-
let kpsewhich-stub = writeShellScriptBin "kpsewhich"
29
-
''[[ $1 = "article.cls" ]] && echo /dev/null'';
0
30
in
31
-
[ gettext libxslt docbook_xsl docbook_xsl_ns ModuleBuild docbook_xml_dtd_412 docbook_sgml_dtd_41 opensp kpsewhich-stub glibcLocales ];
32
-
propagatedBuildInputs = lib.optional (!stdenv.hostPlatform.isMusl) TextWrapI18N ++ [ LocaleGettext SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
0
0
0
0
0
0
0
0
0
0
0
33
# TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build
0
0
0
0
0
0
0
0
0
0
34
buildInputs = [ bash ];
0
35
LC_ALL = "en_US.UTF-8";
36
SGML_CATALOG_FILES = "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
0
37
preConfigure = ''
38
touch Makefile.PL
39
export PERL_MB_OPT="--install_base=$out --prefix=$out"
40
'';
41
-
buildPhase = "perl Build.PL --install_base=$out --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build";
0
0
0
0
42
43
# Disabling tests on musl
44
# Void linux package have investigated the failure and tracked it down to differences in gettext behavior. They decided to disable tests.
···
53
export SGML_CATALOG_FILES=${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
54
./Build test
55
'';
0
56
installPhase = ''
57
./Build install
58
for f in $out/bin/*; do
59
substituteInPlace $f --replace "#! /usr/bin/env perl" "#!${perl}/bin/perl"
60
done
61
'';
0
62
meta = {
63
description = "Tools for helping translation of documentation";
64
homepage = "https://po4a.org";
···
1
+
{ stdenv
2
+
, lib
3
+
, fetchurl
4
+
, docbook_xsl
5
+
, docbook_xsl_ns
6
+
, gettext
7
+
, libxslt
8
+
, glibcLocales
9
+
, docbook_xml_dtd_412
10
+
, docbook_sgml_dtd_41
11
+
, opensp
12
+
, bash
13
+
, perl
14
+
, buildPerlPackage
15
+
, ModuleBuild
16
+
, TextWrapI18N
17
+
, LocaleGettext
18
+
, SGMLSpm
19
+
, UnicodeLineBreak
20
+
, PodParser
21
+
, YAMLTiny
22
+
, fetchpatch
23
+
, writeShellScriptBin
24
}:
25
26
buildPerlPackage rec {
27
pname = "po4a";
28
version = "0.62";
29
+
30
src = fetchurl {
31
url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
32
sha256 = "0eb510a66f59de68cf7a205342036cc9fc08b39334b91f1456421a5f3359e68b";
33
};
34
+
35
patches = [
36
(fetchpatch {
37
# make devdoc output reproducible
···
42
];
43
44
strictDeps = true;
45
+
46
nativeBuildInputs =
47
# the tests for the tex-format use kpsewhich -- texlive's file finding utility.
48
# We don't want to depend on texlive here, so we replace it with a minimal
49
# shellscript that suffices for the tests in t/fmt/tex/, i.e. it looks up
50
# article.cls to an existing file, but doesn't find article-wrong.cls.
51
+
let
52
+
kpsewhich-stub = writeShellScriptBin "kpsewhich"
53
+
''[[ $1 = "article.cls" ]] && echo /dev/null'';
54
in
55
+
[
56
+
gettext
57
+
libxslt
58
+
docbook_xsl
59
+
docbook_xsl_ns
60
+
ModuleBuild
61
+
docbook_xml_dtd_412
62
+
docbook_sgml_dtd_41
63
+
opensp
64
+
kpsewhich-stub
65
+
glibcLocales
66
+
];
67
+
68
# TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build
69
+
propagatedBuildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [
70
+
TextWrapI18N
71
+
] ++ [
72
+
LocaleGettext
73
+
SGMLSpm
74
+
UnicodeLineBreak
75
+
PodParser
76
+
YAMLTiny
77
+
];
78
+
79
buildInputs = [ bash ];
80
+
81
LC_ALL = "en_US.UTF-8";
82
SGML_CATALOG_FILES = "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml";
83
+
84
preConfigure = ''
85
touch Makefile.PL
86
export PERL_MB_OPT="--install_base=$out --prefix=$out"
87
'';
88
+
89
+
buildPhase = ''
90
+
perl Build.PL --install_base=$out --install_path="lib=$out/${perl.libPrefix}"
91
+
./Build build
92
+
'';
93
94
# Disabling tests on musl
95
# Void linux package have investigated the failure and tracked it down to differences in gettext behavior. They decided to disable tests.
···
104
export SGML_CATALOG_FILES=${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat
105
./Build test
106
'';
107
+
108
installPhase = ''
109
./Build install
110
for f in $out/bin/*; do
111
substituteInPlace $f --replace "#! /usr/bin/env perl" "#!${perl}/bin/perl"
112
done
113
'';
114
+
115
meta = {
116
description = "Tools for helping translation of documentation";
117
homepage = "https://po4a.org";