lol
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, SDL
15}:
16
17stdenv.mkDerivation rec {
18 pname = "povray";
19 version = "3.8.0-x.10064738";
20
21 src = fetchFromGitHub {
22 owner = "POV-Ray";
23 repo = "povray";
24 rev = "v${version}";
25 sha256 = "0hy5a3q5092szk2x3s9lpn1zkszgq9bp15rxzdncxlvnanyzsasf";
26 };
27
28 nativeBuildInputs = [ automake autoconf ];
29 buildInputs = [ boost zlib libX11 libICE libSM libpng libjpeg libtiff SDL ];
30
31 # the installPhase wants to put files into $HOME. I let it put the files
32 # to $TMPDIR, so they don't get into the $out
33 postPatch = '' cd unix
34 ./prebuild.sh
35 cd ..
36 sed -i -e 's/^povconfuser.*/povconfuser=$(TMPDIR)\/povray/' Makefile.{am,in}
37 sed -i -e 's/^povuser.*/povuser=$(TMPDIR)\/.povray/' Makefile.{am,in}
38 sed -i -e 's/^povowner.*/povowner=nobody/' Makefile.{am,in}
39 sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in}
40 '';
41
42 configureFlags = [ "COMPILED_BY='nix'" "--with-boost-thread=boost_thread" "--with-x" ];
43
44 enableParallelBuilding = true;
45
46 preInstall = ''
47 mkdir "$TMP/bin"
48 for i in chown chgrp; do
49 echo '#!${stdenv.shell}' >> "$TMP/bin/$i"
50 chmod +x "$TMP/bin/$i"
51 PATH="$TMP/bin:$PATH"
52 done
53 '';
54
55 meta = with lib; {
56 homepage = "http://www.povray.org/";
57 description = "Persistence of Vision Raytracer";
58 license = licenses.free;
59 platforms = platforms.linux;
60 };
61}