diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index b96d5b25bb1..99a80640bb8 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -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. + ''; }; } diff --git a/pkgs/development/tools/misc/otool/default.nix b/pkgs/development/tools/misc/otool/default.nix new file mode 100644 index 00000000000..aa365fc29d5 --- /dev/null +++ b/pkgs/development/tools/misc/otool/default.nix @@ -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. + ''; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 134e2101043..8bbe1e14cca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 {