diff options
Diffstat (limited to 'pkgs/development/libraries/fltk/default.nix')
-rw-r--r-- | pkgs/development/libraries/fltk/default.nix | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix index 10034035ef1..6632088ade7 100644 --- a/pkgs/development/libraries/fltk/default.nix +++ b/pkgs/development/libraries/fltk/default.nix @@ -1,35 +1,47 @@ -args: -( args.mkDerivationByConfiguration { - flagConfig = { - mandatory = { propagatedBuildInputs=["x11" "inputproto" "libXi"]; - blocks = ["cygwin" "quartz"]; }; # cgywin quartz and much more not yet tested - cygwin = { cfgOption = "--enable-cygwin"; }; # use the CygWin libraries default=no - debug = { cfgOption = "--enable-debug"; }; # turn on debugging default=no - gl = { cfgOption = "--enable-gl"; buildInputs = [ "mesa" ]; }; # turn on OpenGL support default=yes - shared = { cfgOption = "--enable-shared"; }; # turn on shared libraries default=no - threads = { cfgOption = "--enable-threads"; }; # enable multi-threading support - quartz = { cfgOption = "--enable-quartz"; buildInputs = "quartz"; }; # don't konw yet what quartz is # use Quartz instead of Quickdraw (default=no) - largefile = { cfgOption = "--disable-largefile"; }; # omit support for large files - useNixLibs = { implies = [ "nixjpeg" "nixpng" "nixzlib" ]; }; # use nix libraries only - nixjpeg = { cfgOption = "--disable-localjpeg"; buildInputs = "libjpeg"; }; # use local JPEG library, default=auto - nixzlib = { cfgOption = "--disable-localzlib"; buildInputs = "zlib"; }; # use local ZLIB library, default=auto - nixpng = { cfgOption = "--disable-localpng"; buildInputs = "libpng"; }; # use local PNG library, default=auto - xinerama = { cfgOption = "--enable-xinerama"; buildInputs = "xinerama"; }; # turn on Xinerama support default=no - xft = { cfgOption = "--enable-xft"; buildInputs="xft"; }; # turn on Xft support default=no - xdbe = { cfgOption = "--enable-xdbe"; }; # turn on Xdbe support default=no - }; +args: with args; +let inherit (args.composableDerivation) composableDerivation edf; in +composableDerivation { + initial = { - extraAttrs = co : { - name = "fltk-2.0.x-r6483"; + name = "fltk-2.0.x-r6483"; src = args.fetchurl { url = ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6483.tar.bz2; sha256 = "1n8b53r5p0zb4sbvr6pj8aasls4zjwksv1sdc3r3pzb20fikp5jb"; }; - meta = { + 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; }; }; -} ) args +} |