lol
1{ composableDerivation, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi
2, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng }:
3
4let inherit (composableDerivation) edf; in
5
6composableDerivation.composableDerivation {} rec {
7 name = "fltk-2.0.x-alpha-r9296";
8
9 src = fetchurl {
10 url = "ftp://ftp.easysw.com/pub/fltk/snapshots/${name}.tar.bz2";
11 sha256 = "0353ngb7gpyklc9mdz8629big2na3c73akfwhis8fhqp7jkbs9ih";
12 };
13
14 propagatedBuildInputs = [ xlibsWrapper inputproto libXi freeglut ];
15
16 buildInputs = [ pkgconfig ];
17
18 flags =
19 # this could be tidied up (?).. eg why does it require freeglut without glSupport?
20 edf { name = "cygwin"; } # use the CygWin libraries default=no
21 // edf { name = "debug"; } # turn on debugging default=no
22 // edf { name = "gl"; enable = { buildInputs = [ mesa ]; }; } # turn on OpenGL support default=yes
23 // edf { name = "shared"; } # turn on shared libraries default=no
24 // edf { name = "threads"; } # enable multi-threading support
25 // edf { name = "quartz"; enable = { buildInputs = "quartz"; }; } # don't konw yet what quartz is # use Quartz instead of Quickdraw (default=no)
26 // edf { name = "largefile"; } # omit support for large files
27 // edf { name = "localjpeg"; disable = { buildInputs = [libjpeg]; }; } # use local JPEG library, default=auto
28 // edf { name = "localzlib"; disable = { buildInputs = [zlib]; }; } # use local ZLIB library, default=auto
29 // edf { name = "localpng"; disable = { buildInputs = [libpng]; }; } # use local PNG library, default=auto
30 // edf { name = "xinerama"; enable = { buildInputs = [libXinerama]; }; } # turn on Xinerama support default=no
31 // edf { name = "xft"; enable = { buildInputs=[libXft]; }; } # turn on Xft support default=no
32 // edf { name = "xdbe"; }; # turn on Xdbe support default=no
33
34 cfg = {
35 largefileSupport = true; # is default
36 glSupport = true; # doesn't build without it. Why?
37 localjpegSupport = false;
38 localzlibSupport = false;
39 localpngSupport = false;
40 sharedSupport = true;
41 threadsSupport = true;
42 };
43
44 meta = {
45 description = "a C++ cross platform lightweight gui library binding";
46 homepage = http://www.fltk.org;
47 };
48}