nixpkgs/pkgs/by-name/bi/biber-ms/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

56 lines
2.0 KiB
Nix

{ lib, stdenv, fetchFromGitHub, perlPackages, shortenPerlShebang, texlive }:
let
biberSource = texlive.pkgs.biber-ms.texsource;
# missing test file
multiscriptBltxml = (fetchFromGitHub {
owner = "plk";
repo = "biber";
rev = "e8d056433063add7800f24589de76f89c4b64c20";
hash = "sha256-QnN6Iyw6iOjfTX7DLVptsfAO/QNn9vOIk5IZlI15EvQ=";
}) + "/t/tdata/multiscript.bltxml";
in
perlPackages.buildPerlModule {
inherit (biberSource) pname 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.hostPlatform.isDarwin shortenPerlShebang;
preConfigure = ''
cp '${multiscriptBltxml}' t/tdata/multiscript.bltxml
'';
postInstall = ''
mv "$out"/bin/biber{,-ms}
'' + lib.optionalString stdenv.hostPlatform.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 ];
mainProgram = "biber-ms";
};
}