blob: 53bd708c23bd3752b536ee0a6bb68df6efb84695 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
{ lib, stdenv, fetchFromGitHub, fetchurl, perlPackages, shortenPerlShebang, texlive }:
let
biberSource = lib.head (builtins.filter (p: p.tlType == "source") texlive.biber-ms.pkgs);
# missing test file
multiscriptBltxml = (fetchFromGitHub {
owner = "plk";
repo = "biber";
rev = "e8d056433063add7800f24589de76f89c4b64c20";
hash = "sha256-QnN6Iyw6iOjfTX7DLVptsfAO/QNn9vOIk5IZlI15EvQ=";
}) + "/t/tdata/multiscript.bltxml";
in
perlPackages.buildPerlModule {
pname = "biber-ms";
inherit (biberSource) version;
src = "${biberSource}/source/bibtex/biber-ms/biblatex-biber-ms.tar.gz";
# from META.json
# (aliases in /* */ are replaced by the actual dependencies to prevent
# evaluation errors with config.allowAliases = false)
buildInputs = with perlPackages; [
# build deps
ConfigAutoConf ExtUtilsLibBuilder FileWhich TestDifferences
/*TestMore=TestSimple=null*/
# runtime deps
BusinessISBN BusinessISMN BusinessISSN ClassAccessor DataCompare DataDump
DataUniqid DateTimeCalendarJulian DateTimeFormatBuilder EncodeEUCJPASCII
EncodeHanExtra EncodeJIS2K EncodeLocale FileSlurper IOString IPCRun3
LWPProtocolHttps LWP/*LWPUserAgent*/ libwwwperl LinguaTranslit ListAllUtils
ListMoreUtils ListMoreUtilsXS LogLog4perl MozillaCA ParseRecDescent
PerlIOutf8_strict RegexpCommon SortKey TextBalanced TextBibTeX TextCSV
TextCSV_XS TextRoman URI UnicodeLineBreak XMLLibXML XMLLibXMLSimple
XMLLibXSLT XMLWriter autovivification
];
nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
preConfigure = ''
cp '${multiscriptBltxml}' t/tdata/multiscript.bltxml
'';
postInstall = ''
mv "$out"/bin/biber{,-ms}
'' + lib.optionalString stdenv.isDarwin ''
shortenPerlShebang "$out"/bin/biber-ms
'';
meta = with lib; {
description = "Backend for BibLaTeX (multiscript version)";
license = biberSource.meta.license;
platforms = platforms.unix;
maintainers = [ maintainers.xworld21 ];
};
}
|