forked from mirrors/nixpkgs
emacs: allow choosing gtk2 or gtk3
This commit is contained in:
parent
c6f47a5e9e
commit
bc4f39f48b
|
@ -2,11 +2,24 @@
|
||||||
, pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
|
, pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
|
||||||
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
|
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
|
||||||
, alsaLib, cairo
|
, alsaLib, cairo
|
||||||
, withX ? !stdenv.isDarwin, withGTK ? true
|
, withX ? !stdenv.isDarwin
|
||||||
|
, withGTK3 ? false, gtk3 ? null
|
||||||
|
, withGTK2 ? true, gtk2
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert (libXft != null) -> libpng != null; # probably a bug
|
assert (libXft != null) -> libpng != null; # probably a bug
|
||||||
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
|
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
|
||||||
|
assert withGTK2 -> withX;
|
||||||
|
assert withGTK3 -> withX;
|
||||||
|
assert withGTK2 -> !withGTK3 && gtk2 != null;
|
||||||
|
assert withGTK3 -> !withGTK2 && gtk3 != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
toolkit =
|
||||||
|
if withGTK3 then "gtk3"
|
||||||
|
else if withGTK2 then "gtk2"
|
||||||
|
else "lucid";
|
||||||
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "emacs-24.4";
|
name = "emacs-24.4";
|
||||||
|
@ -28,17 +41,16 @@ stdenv.mkDerivation rec {
|
||||||
++ stdenv.lib.optional stdenv.isLinux dbus
|
++ stdenv.lib.optional stdenv.isLinux dbus
|
||||||
++ stdenv.lib.optionals withX
|
++ stdenv.lib.optionals withX
|
||||||
[ x11 libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
|
[ x11 libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
|
||||||
imagemagick gtk gconf ]
|
imagemagick gconf ]
|
||||||
|
++ stdenv.lib.optional (withX && withGTK2) [ gtk2 ]
|
||||||
|
++ stdenv.lib.optional (withX && withGTK3) [ gtk3 ]
|
||||||
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
|
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
( if withX && withGTK then
|
if withX
|
||||||
[ "--with-x-toolkit=gtk" "--with-xft"]
|
then [ "--with-x-toolkit=${toolkit}" "--with-xft" ]
|
||||||
else (if withX then
|
else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
|
||||||
[ "--with-x-toolkit=lucid" "--with-xft" ]
|
"--with-gif=no" "--with-tiff=no" ];
|
||||||
else
|
|
||||||
[ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
|
|
||||||
"--with-gif=no" "--with-tiff=no" ] ) );
|
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
|
||||||
"-I${cairo}/include/cairo";
|
"-I${cairo}/include/cairo";
|
||||||
|
|
Loading…
Reference in a new issue