depot/third_party/nixpkgs/pkgs/by-name/bl/blahtexml/package.nix

79 lines
2.1 KiB
Nix

{
fetchFromGitHub,
lib,
stdenv,
libiconv,
texliveFull,
xercesc,
}:
stdenv.mkDerivation rec {
pname = "blahtexml";
version = "1.0";
src = fetchFromGitHub {
owner = "gvanas";
repo = "blahtexml";
rev = "v${version}";
hash = "sha256-DL5DyfARHHbwWBVHSa/VwHzNaAx/v7EDdnw1GLOk+y0=";
};
postPatch =
lib.optionalString stdenv.cc.isClang ''
substituteInPlace makefile \
--replace "\$(CXX)" "\$(CXX) -std=c++98"
''
+
# fix the doc build on TeX Live 2023
''
substituteInPlace Documentation/manual.tex \
--replace '\usepackage[utf8x]{inputenc}' '\usepackage[utf8]{inputenc}'
'';
outputs = [
"out"
"doc"
];
nativeBuildInputs = [ texliveFull ]; # scheme-full needed for ucs package
buildInputs = [ xercesc ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
buildFlags =
[ "doc" ]
++ (
if stdenv.hostPlatform.isDarwin then
[
"blahtex-mac"
"blahtexml-mac"
]
else
[
"blahtex-linux"
"blahtexml-linux"
]
);
installPhase = ''
install -D -t "$out/bin" blahtex blahtexml
install -m644 -D -t "$doc/share/doc/blahtexml" Documentation/manual.pdf
'';
meta = with lib; {
homepage = "http://gva.noekeon.org/blahtexml/";
description = "TeX to MathML converter";
longDescription = ''
Blahtex is a program written in C++, which converts an equation given in
a syntax close to TeX into MathML. It is designed by David Harvey and is
aimed at supporting equations in MediaWiki.
Blahtexml is a simple extension of blahtex, written by Gilles Van Assche.
In addition to the functionality of blahtex, blahtexml has XML processing
in mind and is able to process a whole XML document into another XML
document. Instead of converting only one formula at a time, blahtexml can
convert all the formulas of the given XML file into MathML.
'';
license = licenses.bsd3;
maintainers = [ maintainers.xworld21 ];
platforms = platforms.all;
};
}