nixpkgs/pkgs/by-name/bl/blahtexml/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

59 lines
1.9 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;
};
}