2013-02-02 09:47:21 +00:00
|
|
|
{ stdenv, fetchurl, pkgconfig, perl, zlib, libjpeg, freetype, libpng, giflib
|
|
|
|
, enableX11 ? true, xlibs
|
2010-11-29 18:00:26 +00:00
|
|
|
, enableSDL ? true, SDL }:
|
|
|
|
|
2009-11-05 21:10:03 +00:00
|
|
|
let s = import ./src-for-default.nix; in
|
2006-11-14 22:23:33 +00:00
|
|
|
stdenv.mkDerivation {
|
2009-11-05 21:10:03 +00:00
|
|
|
inherit (s) name;
|
2006-11-14 22:23:33 +00:00
|
|
|
src = fetchurl {
|
2009-11-05 21:10:03 +00:00
|
|
|
url = s.url;
|
|
|
|
sha256 = s.hash;
|
2006-11-14 22:23:33 +00:00
|
|
|
};
|
2010-11-29 18:00:26 +00:00
|
|
|
|
2012-12-28 18:20:09 +00:00
|
|
|
nativeBuildInputs = [ perl ];
|
2010-11-29 18:00:26 +00:00
|
|
|
|
2013-02-02 09:47:21 +00:00
|
|
|
buildInputs = [ pkgconfig zlib libjpeg freetype giflib libpng ]
|
2010-11-29 18:00:26 +00:00
|
|
|
++ stdenv.lib.optional enableSDL SDL
|
2013-02-02 09:47:21 +00:00
|
|
|
++ stdenv.lib.optionals enableX11 (with xlibs; [
|
|
|
|
xproto libX11 libXext #xextproto
|
|
|
|
#renderproto libXrender
|
|
|
|
]);
|
2010-11-29 18:00:26 +00:00
|
|
|
|
2009-11-05 21:10:03 +00:00
|
|
|
NIX_LDFLAGS="-lgcc_s";
|
2010-11-29 18:00:26 +00:00
|
|
|
|
2009-10-24 15:39:54 +00:00
|
|
|
configureFlags = [
|
|
|
|
"--enable-sdl"
|
|
|
|
"--enable-zlib"
|
|
|
|
"--with-gfxdrivers=all"
|
2009-11-05 21:10:03 +00:00
|
|
|
"--enable-devmem"
|
|
|
|
"--enable-fbdev"
|
|
|
|
"--enable-mmx"
|
|
|
|
"--enable-sse"
|
2013-02-02 09:47:21 +00:00
|
|
|
#"--enable-sysfs" # not recognized
|
2009-11-05 21:10:03 +00:00
|
|
|
"--with-software"
|
|
|
|
"--with-smooth-scaling"
|
2010-11-29 18:00:26 +00:00
|
|
|
] ++ stdenv.lib.optionals enableX11 [
|
|
|
|
"--enable-x11"
|
2009-10-24 15:39:54 +00:00
|
|
|
];
|
2014-02-01 13:03:44 +00:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Graphics and input library designed with embedded systems in mind";
|
|
|
|
longDescription = ''
|
|
|
|
DirectFB is a thin library that provides hardware graphics acceleration,
|
|
|
|
input device handling and abstraction, integrated windowing system with
|
|
|
|
support for translucent windows and multiple display layers, not only on
|
|
|
|
top of the Linux Framebuffer Device. It is a complete hardware
|
|
|
|
abstraction layer with software fallbacks for every graphics operation
|
|
|
|
that is not supported by the underlying hardware. DirectFB adds graphical
|
|
|
|
power to embedded systems and sets a new standard for graphics under
|
|
|
|
Linux.
|
|
|
|
'';
|
|
|
|
homepage = http://directfb.org/;
|
|
|
|
license = licenses.lgpl21;
|
|
|
|
platforms = platforms.linux;
|
|
|
|
maintainers = [ maintainers.bjornfor ];
|
|
|
|
};
|
2006-11-14 22:23:33 +00:00
|
|
|
}
|