Merge #15622: remove fltk-2, improve fltk13

This commit is contained in:
Vladimír Čunát 2016-05-26 10:45:14 +02:00
commit 6d16979d7a
3 changed files with 29 additions and 89 deletions

View file

@ -1,19 +1,29 @@
{ composableDerivation, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi
, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng }:
{ stdenv, composableDerivation, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi
, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng
, cfg ? {}
}:
let inherit (composableDerivation) edf; in
composableDerivation.composableDerivation {} rec {
name = "fltk-2.0.x-alpha-r9296";
let version = "1.3.3"; in
composableDerivation.composableDerivation {} {
name = "fltk-${version}";
src = fetchurl {
url = "ftp://ftp.easysw.com/pub/fltk/snapshots/${name}.tar.bz2";
sha256 = "0353ngb7gpyklc9mdz8629big2na3c73akfwhis8fhqp7jkbs9ih";
url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
sha256 = "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq";
};
# http://www.fltk.org/str.php?L3156
postPatch = ''
substituteInPlace FL/x.H \
--replace 'class Fl_XFont_On_Demand' 'class FL_EXPORT Fl_XFont_On_Demand'
'';
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ xlibsWrapper inputproto libXi freeglut ];
buildInputs = [ pkgconfig ];
enableParallelBuilding = true;
flags =
# this could be tidied up (?).. eg why does it require freeglut without glSupport?
@ -39,10 +49,15 @@ composableDerivation.composableDerivation {} rec {
localpngSupport = false;
sharedSupport = true;
threadsSupport = true;
};
xftSupport = true;
} // cfg;
meta = {
description = "a C++ cross platform lightweight gui library binding";
description = "A C++ cross-platform lightweight GUI library";
homepage = http://www.fltk.org;
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
};
}

View file

@ -1,66 +0,0 @@
{ composableDerivation, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi
, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng
, cfg ? {}
, automake, autoconf, libtool
}:
let inherit (composableDerivation) edf; in
let version = "1.3.3"; in
composableDerivation.composableDerivation {} {
name = "fltk-${version}";
src = fetchurl {
url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
sha256 = "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq";
};
# http://www.fltk.org/str.php?L3156
postPatch = ''
substituteInPlace FL/x.H \
--replace 'class Fl_XFont_On_Demand' 'class FL_EXPORT Fl_XFont_On_Demand'
'';
propagatedBuildInputs = [ xlibsWrapper inputproto libXi freeglut ];
enableParallelBilding = true;
nativeBuildInputs = [
pkgconfig
automake autoconf libtool # only required because of patch
];
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;
} // cfg;
meta = {
description = "A C++ cross-platform light-weight GUI library binding";
homepage = http://www.fltk.org;
};
patches = [
];
}

View file

@ -5564,7 +5564,6 @@ in
};
octave = callPackage ../development/interpreters/octave {
fltk = fltk13.override { cfg.xftSupport = true; };
qt = null;
ghostscript = null;
llvm = null;
@ -5575,7 +5574,6 @@ in
openblas = openblasCompat;
};
octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
fltk = fltk13.override { cfg.xftSupport = true; };
qt = qt4;
}));
@ -6918,9 +6916,8 @@ in
flite = callPackage ../development/libraries/flite { };
fltk13 = callPackage ../development/libraries/fltk/fltk13.nix { };
fltk20 = callPackage ../development/libraries/fltk { };
fltk13 = callPackage ../development/libraries/fltk { };
fltk = self.fltk13;
fmod = callPackage ../development/libraries/fmod { };
@ -12491,9 +12488,7 @@ in
keepass-keefox = callPackage ../applications/misc/keepass-plugins/keefox { };
exrdisplay = callPackage ../applications/graphics/exrdisplay {
fltk = fltk13.override { cfg.xftSupport = true; };
};
exrdisplay = callPackage ../applications/graphics/exrdisplay { };
fbpanel = callPackage ../applications/window-managers/fbpanel { };
@ -14867,9 +14862,7 @@ in
ykpers = callPackage ../applications/misc/ykpers {};
yoshimi = callPackage ../applications/audio/yoshimi {
fltk = fltk13.override { cfg.xftSupport = true; };
};
yoshimi = callPackage ../applications/audio/yoshimi { };
zam-plugins = callPackage ../applications/audio/zam-plugins { };
@ -15050,9 +15043,7 @@ in
fish-fillets-ng = callPackage ../games/fish-fillets-ng {};
flightgear = qt5.callPackage ../games/flightgear {
fltk13 = fltk13.override { cfg.xftSupport = true; };
};
flightgear = qt5.callPackage ../games/flightgear { };
freecell-solver = callPackage ../games/freecell-solver { };