nixpkgs/pkgs/by-name/ru/rubber/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
1.4 KiB
Nix

{ lib, stdenv, fetchFromGitLab, python3Packages, texinfo }:
let
pypkgs = python3Packages;
in
pypkgs.buildPythonApplication rec {
pname = "rubber";
version = "1.6.6";
pyproject = true;
src = fetchFromGitLab {
owner = "latex-rubber";
repo = "rubber";
rev = version;
hash = "sha256-C26PN3jyV6qwSjgPem54bykZrpKj+n8iHYYUyR+8dgI=";
};
postPatch = ''
sed -i -e '/texi2dvi/d' hatch_build.py
substituteInPlace tests/run.sh \
--replace-fail /var/tmp /tmp
'';
nativeBuildInputs = [ pypkgs.hatchling texinfo ];
checkPhase = ''
runHook preCheck
pushd tests >/dev/null
${stdenv.shell} run.sh
popd >/dev/null
runHook postCheck
'';
meta = with lib; {
description = "Wrapper for LaTeX and friends";
longDescription = ''
Rubber is a program whose purpose is to handle all tasks related
to the compilation of LaTeX documents. This includes compiling
the document itself, of course, enough times so that all
references are defined, and running BibTeX to manage
bibliographic references. Automatic execution of dvips to
produce PostScript documents is also included, as well as usage
of pdfLaTeX to produce PDF documents.
'';
license = licenses.gpl2Plus;
homepage = "https://gitlab.com/latex-rubber/rubber";
maintainers = with maintainers; [ ttuegel peterhoeg ];
platforms = platforms.unix;
mainProgram = "rubber";
};
}