{ 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; }; }