mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-17 00:10:30 +00:00
Scilab note: the parameters already had pointed to nonexistent dirs before this set of refactoring. But that config wasn't even used by default.
66 lines
2.3 KiB
Nix
66 lines
2.3 KiB
Nix
{ stdenv, fetchurl, pkgconfig, gettext, glib, atk, pango, cairo, perl, xlibs
|
|
, gdk_pixbuf, libintlOrEmpty, xlibsWrapper
|
|
, xineramaSupport ? stdenv.isLinux
|
|
, cupsSupport ? true, cups ? null
|
|
}:
|
|
|
|
assert xineramaSupport -> xlibs.libXinerama != null;
|
|
assert cupsSupport -> cups != null;
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "gtk+-2.24.28";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
|
|
sha256 = "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj";
|
|
};
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (libintlOrEmpty != []) "-lintl";
|
|
|
|
nativeBuildInputs = [ perl pkgconfig gettext ];
|
|
|
|
propagatedBuildInputs = with xlibs; with stdenv.lib;
|
|
[ glib cairo pango gdk_pixbuf atk ]
|
|
++ optionals (stdenv.isLinux || stdenv.isDarwin) [
|
|
libXrandr libXrender libXcomposite libXi libXcursor
|
|
]
|
|
++ optionals stdenv.isDarwin [ xlibsWrapper libXdamage ]
|
|
++ libintlOrEmpty
|
|
++ optional xineramaSupport libXinerama
|
|
++ optionals cupsSupport [ cups ];
|
|
|
|
configureFlags = if stdenv.isDarwin
|
|
then "--disable-glibtest --disable-introspection --disable-visibility"
|
|
else "--with-xinput=yes";
|
|
|
|
postInstall = "rm -rf $out/share/gtk-doc";
|
|
|
|
passthru = {
|
|
gtkExeEnvPostBuild = ''
|
|
rm $out/lib/gtk-2.0/2.10.0/immodules.cache
|
|
$out/bin/gtk-query-immodules-2.0 $out/lib/gtk-2.0/2.10.0/immodules/*.so > $out/lib/gtk-2.0/2.10.0/immodules.cache
|
|
''; # workaround for bug of nix-mode for Emacs */ '';
|
|
};
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A multi-platform toolkit for creating graphical user interfaces";
|
|
homepage = http://www.gtk.org/;
|
|
license = licenses.lgpl2Plus;
|
|
maintainers = with maintainers; [ lovek323 raskin ];
|
|
platforms = platforms.all;
|
|
|
|
longDescription = ''
|
|
GTK+ is a highly usable, feature rich toolkit for creating
|
|
graphical user interfaces which boasts cross platform
|
|
compatibility and an easy to use API. GTK+ it is written in C,
|
|
but has bindings to many other popular programming languages
|
|
such as C++, Python and C# among others. GTK+ is licensed
|
|
under the GNU LGPL 2.1 allowing development of both free and
|
|
proprietary software with GTK+ without any license fees or
|
|
royalties.
|
|
'';
|
|
};
|
|
}
|