gobject-introspection: fix build on darwin

* add otool expression (add otool to build inputs)
* add libintlOrEmpty to build inputs
This commit is contained in:
Jason "Don" O'Conal 2013-07-03 22:02:40 +10:00
parent 84f5d870f3
commit 216d47be0c
3 changed files with 51 additions and 6 deletions

View file

@ -1,14 +1,17 @@
{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, gdk_pixbuf }:
{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, gdk_pixbuf
, libintlOrEmpty, autoconf, automake, otool }:
stdenv.mkDerivation rec {
name = "gobject-introspection-1.34.2";
buildInputs = [ flex bison glib pkgconfig python gdk_pixbuf ];
buildInputs = [ flex bison glib pkgconfig python gdk_pixbuf ]
++ libintlOrEmpty
++ stdenv.lib.optional stdenv.isDarwin otool;
propagatedBuildInputs = [ libffi ];
# Tests depend on cairo, which is undesirable (it pulls in lots of
# other dependencies).
configureFlags = "--disable-tests";
configureFlags = [ "--disable-tests" ];
src = fetchurl {
url = "mirror://gnome/sources/gobject-introspection/1.34/${name}.tar.xz";
@ -18,8 +21,17 @@ stdenv.mkDerivation rec {
postInstall = "rm -rf $out/share/gtk-doc";
meta = with stdenv.lib; {
maintainers = [ maintainers.urkud ];
platforms = platforms.linux;
homepage = http://live.gnome.org/GObjectIntrospection;
description = "A middleware layer between C libraries and language bindings";
homepage = http://live.gnome.org/GObjectIntrospection;
maintainers = with maintainers; [ lovek323 urkud ];
platforms = platforms.unix;
longDescription = ''
GObject introspection is a middleware layer between C libraries (using
GObject) and language bindings. The C library can be scanned at compile
time and generate a metadata file, in addition to the actual native C
library. Then at runtime, language bindings can read this metadata and
automatically provide bindings to call into the C library.
'';
};
}

View file

@ -0,0 +1,31 @@
{ stdenv }:
stdenv.mkDerivation {
name = "otool";
src = "/usr/bin/otool";
unpackPhase = "true";
configurePhase = "true";
buildPhase = "true";
installPhase = ''
mkdir -p "$out/bin"
cp /usr/bin/otool "$out/bin"
'';
meta = with stdenv.lib; {
description = "Object file displaying tool";
homepage = https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/otool.1.html;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.darwin;
longDescription = ''
The otool command displays specified parts of object files or libraries.
If the, -m option is not used, the file arguments may be of the form
libx.a(foo.o), to request information about only that object file and not
the entire library.
'';
};
}

View file

@ -444,6 +444,8 @@ let
apg = callPackage ../tools/security/apg { };
otool = callPackage ../development/tools/misc/otool { };
xcodeenv = callPackage ../development/mobile/xcodeenv { };
titaniumenv_2_1 = import ../development/mobile/titaniumenv {