summary refs log tree commit diff
path: root/pkgs/development/libraries/fltk/fltk11.nix
blob: 4832410102d7de0f10da6d6d09ca43e1de0721c5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {} {

  name = "fltk-1.1.9";

  src = args.fetchurl {
    url = http://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/1.1.9/fltk-1.1.9-source.tar.bz2;
    sha256 = "1ppdqc4vg3g11px4dxm6czxi4sswfxs485q44nrr5ji0galsbjzs";
  };

  propagatedBuildInputs=[x11 inputproto libXi freeglut];

  buildInputs = [ args.pkgconfig ];

  flags =
    # this could be tidied up (?).. eg why does it require freeglut without glSupport?
    edf { name = "cygwin"; }  #         use the CygWin libraries default=no
    // edf { name = "debug"; }  #          turn on debugging default=no
    // edf { name = "gl"; enable = { buildInputs = [ mesa ]; }; }  #             turn on OpenGL support default=yes
    // edf { name = "shared"; }  #         turn on shared libraries default=no
    // edf { name = "threads"; }  #        enable multi-threading support
    // edf { name = "quartz"; enable = { buildInputs = "quartz"; }; }  # don't konw yet what quartz is #         use Quartz instead of Quickdraw (default=no)
    // edf { name = "largefile"; } #     omit support for large files
    // edf { name = "localjpeg"; disable = { buildInputs = [libjpeg]; }; } #       use local JPEG library, default=auto
    // edf { name = "localzlib"; disable = { buildInputs = [zlib]; }; } #       use local ZLIB library, default=auto
    // edf { name = "localpng"; disable = { buildInputs = [libpng]; }; } #       use local PNG library, default=auto
    // edf { name = "xinerama"; enable = { buildInputs = [libXinerama]; }; } #       turn on Xinerama support default=no
    // edf { name = "xft"; enable = { buildInputs=[libXft]; }; } #            turn on Xft support default=no
    // edf { name = "xdbe"; };  #           turn on Xdbe support default=no
  cfg = {
      largefileSupport = true; # is default
      glSupport = true; # doesn't build without it. Why?
      localjpegSupport = false;
      localzlibSupport = false;
      localpngSupport = false;
      sharedSupport = true;
      threadsSupport = true;
  };

  meta = {
      description = "a C++ cross platform lightweight gui library binding";
      homepage = http://www.fltk.org;
  };
}