ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / ca / catdvi / package.nix
blob03fedbbc386d9280e974e84ecff78c21130b4b3b
1 { stdenv
2 , lib
3 , fetchurl
4 , fetchpatch
5 , texlive
6 , texliveInfraOnly
7 , buildPackages
8 }:
10 let
11   buildPlatformTools = [ "pse2unic" "adobe2h" ];
12   tex = texliveInfraOnly.withPackages (ps: [ ps.collection-fontsrecommended ]);
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "catdvi";
17   version = "0.14";
18   src = fetchurl {
19     url = with finalAttrs; "http://downloads.sourceforge.net/${pname}/${pname}-${version}.tar.bz2";
20     hash = "sha256-orVQVdQuRXp//OGkA7xRidNi4+J+tkw398LPZ+HX+k8=";
21   };
23   patches = [
24     # fix error: conflicting types for 'kpathsea_version_string'; have 'char *'
25     (fetchpatch {
26       url = "https://sources.debian.org/data/main/c/catdvi/0.14-14/debian/patches/03_kpathsea_version_string_declaration.diff";
27       hash = "sha256-d3CPDxXdVVLNtKkN0rC2G02dh/bJrRll/nVzQNggwkk=";
28     })
29   ];
31   # fix implicit-int compile error in test code used in configure script
32   postPatch = ''
33     sed -i 's/^main()/int main()/' configure
34   '';
36   hardeningDisable = [ "format" ];
38   outputs = [ "out" ] ++ lib.optional (with stdenv; buildPlatform.canExecute hostPlatform) "dev";
40   setOutputFlags = false;
42   enableParallelBuilding = true;
44   preBuild = lib.optionalString (with stdenv; !buildPlatform.canExecute hostPlatform)
45     (lib.concatMapStringsSep "\n" (tool: ''
46       cp ${lib.getDev buildPackages.catdvi}/bin/${tool} .
47     '') buildPlatformTools);
49   nativeBuildInputs = [
50     texlive.bin.core
51     texlive.bin.core.dev
52   ];
54   buildInputs = [
55     tex
56   ];
58   makeFlags = [
59     "catdvi"  # to avoid running tests until checkPhase
60   ] ++ lib.optionals (with stdenv; !buildPlatform.canExecute hostPlatform)
61     (map (tool: "--assume-old=${tool}") buildPlatformTools);
63   nativeCheckInputs = [
64     texlive
65   ];
67   testFlags = [
68     "all1"
69   ];
71   preInstall = ''
72     mkdir -p $out/{bin,man/man1}
73   '';
75   postInstall = lib.optionalString (with stdenv; buildPlatform.canExecute hostPlatform) ''
76     mkdir -p $dev/bin
77     ${lib.concatMapStringsSep "\n" (tool: ''
78       cp ${tool} $dev/bin/
79     '') buildPlatformTools}
80   '' + ''
81     mkdir -p $out/share
82     ln -s ${tex}/share/texmf-var $out/share/texmf
83   '';
85   meta = with lib; {
86     homepage = "http://catdvi.sourceforge.net";
87     description = "DVI to plain text translator";
88     license = licenses.gpl2Plus;
89     maintainers = [ ];
90   };