base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / graphics / povray / default.nix
blob2f3a644898ae3dc82489b018e27194fb65b5d117
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , autoconf
5 , automake
6 , boost
7 , zlib
8 , libX11
9 , libICE
10 , libSM
11 , libpng
12 , libjpeg
13 , libtiff
14 , pkg-config
15 , SDL2
18 stdenv.mkDerivation (finalAttrs: {
19   pname = "povray";
20   version = "3.8.0-beta.2";
22   src = fetchFromGitHub {
23     owner = "POV-Ray";
24     repo = "povray";
25     rev = "v${finalAttrs.version}";
26     sha256 = "sha256-BsWalXzEnymiRbBfE/gsNyWgAqzbxEzO/EQiJpbwoKs=";
27   };
29   nativeBuildInputs = [
30     automake
31     autoconf
32     pkg-config
33   ];
35   buildInputs = [
36     boost
37     libX11
38     libICE
39     libSM
40     libpng
41     libjpeg
42     libtiff
43     SDL2
44     zlib
45   ];
47   # the installPhase wants to put files into $HOME. I let it put the files
48   # to $TMPDIR, so they don't get into the $out
49   postPatch = ''
50     cd unix
51     ./prebuild.sh
52     cd ..
53     sed -i -e 's/^povconfuser.*/povconfuser=$(TMPDIR)\/povray/' Makefile.{am,in}
54     sed -i -e 's/^povuser.*/povuser=$(TMPDIR)\/.povray/' Makefile.{am,in}
55     sed -i -e 's/^povowner.*/povowner=nobody/' Makefile.{am,in}
56     sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in}
57   '';
59   configureFlags = [
60     "COMPILED_BY=NixOS"
61     "--with-boost-thread=boost_thread"
62     "--with-x"
63   ];
65   enableParallelBuilding = true;
67   preInstall = ''
68     mkdir "$TMP/bin"
69     for i in chown chgrp; do
70       echo '#!${stdenv.shell}' >> "$TMP/bin/$i"
71       chmod +x "$TMP/bin/$i"
72       PATH="$TMP/bin:$PATH"
73     done
74   '';
76   meta = {
77     homepage = "http://www.povray.org/";
78     description = "Persistence of Vision Raytracer";
79     license = lib.licenses.free;
80     platforms = lib.platforms.linux;
81     mainProgram = "povray";
82     maintainers = with lib.maintainers; [ fgaz ];
83   };