diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-libs/gobject-introspection | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-libs/gobject-introspection')
7 files changed, 759 insertions, 0 deletions
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest new file mode 100644 index 00000000000..76685ae62d5 --- /dev/null +++ b/dev-libs/gobject-introspection/Manifest @@ -0,0 +1,3 @@ +DIST gobject-introspection-1.40.0.tar.xz 1286424 SHA256 96ea75e9679083e7fe39a105e810e2ead2d708abf189a5ba420bfccfffa24e98 SHA512 d6cc91be018d812f1b04281bc322b8809c2cc12e5e16adf8b826a82505315ec140ce2b823c107ed98c6dced8f62afb6071eed2702a9e76b0e8e73ad193824c04 WHIRLPOOL b5ab2bb221816802cd3d1d3aedcb6b9b5ea9f516b51b4a3a892de1098d834c78cf94aa3e552dc58f0d2530c032e9ba08b41c24b31992afc4493ac3f0bfdc2f78 +DIST gobject-introspection-1.42.0.tar.xz 1308056 SHA256 3ba2edfad4f71d4f0de16960b5d5f2511335fa646b2c49bbb93ce5942b3f95f7 SHA512 2f84aae6ebb73f1cda70be6070fdbd0791777baed0f12921518a3c9cc890c406d6649bf0441bef5b93b6da4320d0c2639d9090c43d1011deebd1652f1e958021 WHIRLPOOL fe2703c82c83617093fa9ee74b28a2f6bec87d43f4b6eadf7f124a8454a817b6a30b635ea7c0388e429ae081f23c943ca31c34f2aa68811b1d4d10758b8a6a16 +DIST gobject-introspection-1.44.0.tar.xz 1319168 SHA256 6f0c2c28aeaa37b5037acbf21558098c4f95029b666db755d3a12c2f1e1627ad SHA512 294bee6c935991620e6bfe4bd63d7b5c586079cdc9ac349dd5228f5822f86983a5a4518838c808c3fdd1152cb37f79db5ad8674245939ecad97459ce178f03e7 WHIRLPOOL fb032ae524bdbb011963c58e9d5d4a488fe89d95f2a353d0871176c26f1cb2f276743ec4bb97149f76135565965c173f149f163b78de47b994a5b4b32f3aa6aa diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch new file mode 100644 index 00000000000..b4ee77e413e --- /dev/null +++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.40.0-gjs-crash.patch @@ -0,0 +1,484 @@ +From a4c9d09d7a89d3c80b4465a5c2ae0efa24158b24 Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna <gcampagna@src.gnome.org> +Date: Tue, 6 May 2014 18:53:21 +0200 +Subject: Parse and expose ownership transfer for instance parameters + +Knowing the ownership transfer for instance parameters is +necessary for correct memory management of functions which +"eat" their instance argument, such as g_dbus_method_invocation_return_*. +Parse this information from the gir file and store in the +typelib, and then provide new API on GICallableInfo to +retrieve this. + +https://bugzilla.gnome.org/show_bug.cgi?id=729662 + +diff --git a/girepository/gicallableinfo.c b/girepository/gicallableinfo.c +index e69e3e9..702e16c 100644 +--- a/girepository/gicallableinfo.c ++++ b/girepository/gicallableinfo.c +@@ -276,6 +276,32 @@ g_callable_info_get_caller_owns (GICallableInfo *info) + } + + /** ++ * g_callable_info_get_instance_ownership_transfer: ++ * @info: a #GICallableInfo ++ * ++ * Obtains the ownership transfer for the instance argument. ++ * #GITransfer contains a list of possible transfer values. ++ * ++ * Returns: the transfer ++ */ ++GITransfer ++g_callable_info_get_instance_ownership_transfer (GICallableInfo *info) ++{ ++ GIRealInfo *rinfo = (GIRealInfo*) info; ++ SignatureBlob *blob; ++ ++ g_return_val_if_fail (info != NULL, -1); ++ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), -1); ++ ++ blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)]; ++ ++ if (blob->instance_transfer_ownership) ++ return GI_TRANSFER_EVERYTHING; ++ else ++ return GI_TRANSFER_NOTHING; ++} ++ ++/** + * g_callable_info_get_n_args: + * @info: a #GICallableInfo + * +diff --git a/girepository/gicallableinfo.h b/girepository/gicallableinfo.h +index 71f9d0c..f273d29 100644 +--- a/girepository/gicallableinfo.h ++++ b/girepository/gicallableinfo.h +@@ -73,6 +73,8 @@ gboolean g_callable_info_invoke (GICallableInfo *info, + gboolean is_method, + gboolean throws, + GError **error); ++GITransfer g_callable_info_get_instance_ownership_transfer (GICallableInfo *info); ++ + G_END_DECLS + + +diff --git a/girepository/girepository.symbols b/girepository/girepository.symbols +index 5f01adf..48fb0d9 100644 +--- a/girepository/girepository.symbols ++++ b/girepository/girepository.symbols +@@ -26,6 +26,7 @@ g_info_new + g_callable_info_can_throw_gerror + g_callable_info_get_arg + g_callable_info_get_caller_owns ++g_callable_info_get_instance_ownership_transfer + g_callable_info_get_n_args + g_callable_info_get_return_attribute + g_callable_info_get_return_type +diff --git a/girepository/girnode.c b/girepository/girnode.c +index 53385c2..a7a77e3 100644 +--- a/girepository/girnode.c ++++ b/girepository/girnode.c +@@ -1664,6 +1664,7 @@ _g_ir_node_build_typelib (GIrNode *node, + blob2->caller_owns_return_value = function->result->transfer; + blob2->caller_owns_return_container = function->result->shallow_transfer; + blob2->skip_return = function->result->skip; ++ blob2->instance_transfer_ownership = function->instance_transfer_full; + blob2->reserved = 0; + blob2->n_arguments = n; + +@@ -1762,6 +1763,7 @@ _g_ir_node_build_typelib (GIrNode *node, + blob2->may_return_null = signal->result->nullable; + blob2->caller_owns_return_value = signal->result->transfer; + blob2->caller_owns_return_container = signal->result->shallow_transfer; ++ blob2->instance_transfer_ownership = signal->instance_transfer_full; + blob2->reserved = 0; + blob2->n_arguments = n; + +@@ -1820,6 +1822,7 @@ _g_ir_node_build_typelib (GIrNode *node, + blob2->may_return_null = vfunc->result->nullable; + blob2->caller_owns_return_value = vfunc->result->transfer; + blob2->caller_owns_return_container = vfunc->result->shallow_transfer; ++ blob2->instance_transfer_ownership = vfunc->instance_transfer_full; + blob2->reserved = 0; + blob2->n_arguments = n; + +diff --git a/girepository/girnode.h b/girepository/girnode.h +index 4beef7f..02196e7 100644 +--- a/girepository/girnode.h ++++ b/girepository/girnode.h +@@ -100,6 +100,7 @@ struct _GIrNodeFunction + gboolean is_constructor; + gboolean wraps_vfunc; + gboolean throws; ++ gboolean instance_transfer_full; + + gchar *symbol; + +@@ -188,6 +189,7 @@ struct _GIrNodeSignal + gboolean detailed; + gboolean action; + gboolean no_hooks; ++ gboolean instance_transfer_full; + + gboolean has_class_closure; + gboolean true_stops_emit; +@@ -208,6 +210,7 @@ struct _GIrNodeVFunc + gboolean must_not_be_implemented; + gboolean is_class_closure; + gboolean throws; ++ gboolean instance_transfer_full; + + char *invoker; + +diff --git a/girepository/girparser.c b/girepository/girparser.c +index 6c76866..f928c2e 100644 +--- a/girepository/girparser.c ++++ b/girepository/girparser.c +@@ -1047,6 +1047,71 @@ parse_param_transfer (GIrNodeParam *param, const gchar *transfer, const gchar *n + } + + static gboolean ++start_instance_parameter (GMarkupParseContext *context, ++ const gchar *element_name, ++ const gchar **attribute_names, ++ const gchar **attribute_values, ++ ParseContext *ctx, ++ GError **error) ++{ ++ const gchar *transfer; ++ gboolean transfer_full; ++ ++ if (!(strcmp (element_name, "instance-parameter") == 0 && ++ ctx->state == STATE_FUNCTION_PARAMETERS)) ++ return FALSE; ++ ++ transfer = find_attribute ("transfer-ownership", attribute_names, attribute_values); ++ ++ state_switch (ctx, STATE_PASSTHROUGH); ++ ++ if (strcmp (transfer, "full") == 0) ++ transfer_full = TRUE; ++ else if (strcmp (transfer, "none") == 0) ++ transfer_full = FALSE; ++ else ++ { ++ g_set_error (error, G_MARKUP_ERROR, ++ G_MARKUP_ERROR_INVALID_CONTENT, ++ "invalid value for 'transfer-ownership' for instance parameter: %s", transfer); ++ return FALSE; ++ } ++ ++ switch (CURRENT_NODE (ctx)->type) ++ { ++ case G_IR_NODE_FUNCTION: ++ case G_IR_NODE_CALLBACK: ++ { ++ GIrNodeFunction *func; ++ ++ func = (GIrNodeFunction *)CURRENT_NODE (ctx); ++ func->instance_transfer_full = transfer_full; ++ } ++ break; ++ case G_IR_NODE_SIGNAL: ++ { ++ GIrNodeSignal *signal; ++ ++ signal = (GIrNodeSignal *)CURRENT_NODE (ctx); ++ signal->instance_transfer_full = transfer_full; ++ } ++ break; ++ case G_IR_NODE_VFUNC: ++ { ++ GIrNodeVFunc *vfunc; ++ ++ vfunc = (GIrNodeVFunc *)CURRENT_NODE (ctx); ++ vfunc->instance_transfer_full = transfer_full; ++ } ++ break; ++ default: ++ g_assert_not_reached (); ++ } ++ ++ return TRUE; ++} ++ ++static gboolean + start_parameter (GMarkupParseContext *context, + const gchar *element_name, + const gchar **attribute_names, +@@ -2848,11 +2913,10 @@ start_element_handler (GMarkupParseContext *context, + attribute_names, attribute_values, + ctx, error)) + goto out; +- else if (strcmp (element_name, "instance-parameter") == 0) +- { +- state_switch (ctx, STATE_PASSTHROUGH); +- goto out; +- } ++ else if (start_instance_parameter (context, element_name, ++ attribute_names, attribute_values, ++ ctx, error)) ++ goto out; + else if (strcmp (element_name, "c:include") == 0) + { + state_switch (ctx, STATE_C_INCLUDE); +diff --git a/girepository/gitypelib-internal.h b/girepository/gitypelib-internal.h +index 93d621b..5ccb617 100644 +--- a/girepository/gitypelib-internal.h ++++ b/girepository/gitypelib-internal.h +@@ -465,6 +465,8 @@ typedef struct { + * freeing the container, but not its contents. + * @skip_return: Indicates that the return value is only useful in C and should + * be skipped. ++ * @instance_transfer_ownership: When calling, the function assumes ownership of ++ * the instance parameter. + * @reserved: Reserved for future use. + * @n_arguments: The number of arguments that this function expects, also the + * length of the array of ArgBlobs. +@@ -479,7 +481,8 @@ typedef struct { + guint16 caller_owns_return_value : 1; + guint16 caller_owns_return_container : 1; + guint16 skip_return : 1; +- guint16 reserved :12; ++ guint16 instance_transfer_ownership : 1; ++ guint16 reserved :11; + + guint16 n_arguments; + +diff --git a/tests/repository/gitypelibtest.c b/tests/repository/gitypelibtest.c +index 565c95c..7b9cb35 100644 +--- a/tests/repository/gitypelibtest.c ++++ b/tests/repository/gitypelibtest.c +@@ -276,6 +276,34 @@ test_signal_array_len (GIRepository * repo) + g_base_info_unref (testobj_info); + } + ++static void ++test_instance_transfer_ownership (GIRepository * repo) ++{ ++ GIObjectInfo *testobj_info; ++ GIFunctionInfo *func_info; ++ GITransfer transfer; ++ ++ g_assert (g_irepository_require (repo, "Regress", NULL, 0, NULL)); ++ testobj_info = g_irepository_find_by_name (repo, "Regress", "TestObj"); ++ g_assert (testobj_info != NULL); ++ ++ func_info = g_object_info_find_method (testobj_info, "instance_method"); ++ g_assert (func_info != NULL); ++ transfer = g_callable_info_get_instance_ownership_transfer ((GICallableInfo*) func_info); ++ g_assert_cmpint (GI_TRANSFER_NOTHING, ==, transfer); ++ ++ g_base_info_unref (func_info); ++ ++ func_info = g_object_info_find_method (testobj_info, "instance_method_full"); ++ g_assert (func_info != NULL); ++ transfer = g_callable_info_get_instance_ownership_transfer ((GICallableInfo*) func_info); ++ g_assert_cmpint (GI_TRANSFER_EVERYTHING, ==, transfer); ++ ++ g_base_info_unref (func_info); ++ ++ g_base_info_unref (testobj_info); ++} ++ + int + main (int argc, char **argv) + { +@@ -292,6 +320,7 @@ main (int argc, char **argv) + test_hash_with_cairo_typelib (repo); + test_char_types (repo); + test_signal_array_len (repo); ++ test_instance_transfer_ownership (repo); + + exit (0); + } +diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page +new file mode 100644 +index 0000000..2222bec +--- /dev/null ++++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_full.page +@@ -0,0 +1,38 @@ ++<?xml version="1.0"?> ++<page id="Regress.TestObj.instance_method_full" ++ type="topic" ++ style="method" ++ xmlns="http://projectmallard.org/1.0/" ++ xmlns:api="http://projectmallard.org/experimental/api/" ++ xmlns:ui="http://projectmallard.org/1.0/ui/"> ++ <info> ++ <link xref="Regress.TestObj" group="method" type="guide"/> ++ <api:function> ++ <api:returns> ++ <api:type>void</api:type> ++ </api:returns> ++ <api:name>regress_test_obj_instance_method_full</api:name> ++ <api:arg> ++ <api:type>RegressTestObj*</api:type> ++ <api:name>obj</api:name> ++ </api:arg> ++ </api:function> ++ </info> ++ <title>regress_test_obj_instance_method_full</title> ++ <synopsis><code mime="text/x-csrc"> ++void regress_test_obj_instance_method_full (RegressTestObj* obj); ++ </code></synopsis> ++ ++ ++<terms> ++<item> ++<title><code>obj</code></title> ++ ++</item> ++<item> ++<title><code>Returns</code></title> ++ ++</item> ++</terms> ++ ++</page> +diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page +new file mode 100644 +index 0000000..5b7e1c9 +--- /dev/null ++++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_full.page +@@ -0,0 +1,26 @@ ++<?xml version="1.0"?> ++<page id="Regress.TestObj.instance_method_full" ++ type="topic" ++ style="method" ++ xmlns="http://projectmallard.org/1.0/" ++ xmlns:api="http://projectmallard.org/experimental/api/" ++ xmlns:ui="http://projectmallard.org/1.0/ui/"> ++ <info> ++ <link xref="Regress.TestObj" group="method" type="guide"/> ++ <api:function> ++ <api:returns> ++ <api:type>void</api:type> ++ </api:returns> ++ <api:name>regress_test_obj_instance_method_full</api:name> ++ </api:function> ++ </info> ++ <title>Regress.TestObj.prototype.instance_method_full</title> ++ <synopsis><code mime="text/x-gjs"> ++function instance_method_full(): void { ++ // Gjs wrapper for regress_test_obj_instance_method_full() ++} ++ </code></synopsis> ++ ++ ++ ++</page> +diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page +new file mode 100644 +index 0000000..2b5c1dc +--- /dev/null ++++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_full.page +@@ -0,0 +1,37 @@ ++<?xml version="1.0"?> ++<page id="Regress.TestObj.instance_method_full" ++ type="topic" ++ style="method" ++ xmlns="http://projectmallard.org/1.0/" ++ xmlns:api="http://projectmallard.org/experimental/api/" ++ xmlns:ui="http://projectmallard.org/1.0/ui/"> ++ <info> ++ <link xref="Regress.TestObj" group="method" type="guide"/> ++ <api:function> ++ <api:returns> ++ <api:type>none</api:type> ++ </api:returns> ++ <api:name>regress_test_obj_instance_method_full</api:name> ++ <api:arg> ++ <api:type>Regress.TestObj</api:type> ++ <api:name>self</api:name> ++ </api:arg> ++ </api:function> ++ </info> ++ <title>Regress.TestObj.instance_method_full</title> ++ <synopsis><code mime="text/x-python"> ++@accepts(Regress.TestObj) ++@returns(none) ++def instance_method_full(self): ++ # Python wrapper for regress_test_obj_instance_method_full() ++ </code></synopsis> ++ ++ ++<terms> ++<item> ++<title><code>self</code></title> ++ ++</item> ++</terms> ++ ++</page> +diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir +index 1c9c300..89ecaa4 100644 +--- a/tests/scanner/Regress-1.0-expected.gir ++++ b/tests/scanner/Regress-1.0-expected.gir +@@ -3057,6 +3057,17 @@ case.</doc> + </parameter> + </parameters> + </method> ++ <method name="instance_method_full" ++ c:identifier="regress_test_obj_instance_method_full"> ++ <return-value transfer-ownership="none"> ++ <type name="none" c:type="void"/> ++ </return-value> ++ <parameters> ++ <instance-parameter name="obj" transfer-ownership="full"> ++ <type name="TestObj" c:type="RegressTestObj*"/> ++ </instance-parameter> ++ </parameters> ++ </method> + <method name="set_bare" c:identifier="regress_test_obj_set_bare"> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> +diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt +index c9ff60a..187aa16 100644 +--- a/tests/scanner/Regress-1.0-sections-expected.txt ++++ b/tests/scanner/Regress-1.0-sections-expected.txt +@@ -334,6 +334,7 @@ regress_test_obj_emit_sig_with_uint64 + regress_forced_method + regress_test_obj_instance_method + regress_test_obj_instance_method_callback ++regress_test_obj_instance_method_full + regress_test_obj_set_bare + regress_test_obj_skip_inout_param + regress_test_obj_skip_out_param +diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c +index 1bad36e..b42e0cd 100644 +--- a/tests/scanner/regress.c ++++ b/tests/scanner/regress.c +@@ -2679,6 +2679,17 @@ regress_test_obj_instance_method (RegressTestObj *obj) + return -1; + } + ++/** ++ * regress_test_obj_instance_method_full: ++ * @obj: (transfer full): ++ * ++ */ ++void ++regress_test_obj_instance_method_full (RegressTestObj *obj) ++{ ++ g_object_unref (obj); ++} ++ + double + regress_test_obj_static_method (int x) + { +diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h +index e2e645b..667f129 100644 +--- a/tests/scanner/regress.h ++++ b/tests/scanner/regress.h +@@ -527,6 +527,7 @@ void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj); + void regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj); + void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj); + int regress_test_obj_instance_method (RegressTestObj *obj); ++void regress_test_obj_instance_method_full (RegressTestObj *obj); + double regress_test_obj_static_method (int x); + void regress_forced_method (RegressTestObj *obj); + +-- +cgit v0.10.1 + diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch new file mode 100644 index 00000000000..8195cdf362d --- /dev/null +++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.42.0-cpp-flags.patch @@ -0,0 +1,32 @@ +From d2dce55c971fc44cc327818b0341eb89f1243db6 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro <mcatanzaro@gnome.org> +Date: Wed, 28 Jan 2015 21:55:20 -0600 +Subject: scanner: don't pass certain debug level flags to cpp + +These may cause cpp to output code that still has #defines in them, +which the scanner does not expect. + +https://bugzilla.gnome.org/show_bug.cgi?id=720504 + +diff --git a/giscanner/sourcescanner.py b/giscanner/sourcescanner.py +index dab1602..9a81421 100644 +--- a/giscanner/sourcescanner.py ++++ b/giscanner/sourcescanner.py +@@ -294,6 +294,14 @@ class SourceScanner(object): + cpp_args += ['-E', '-C', '-I.', '-'] + cpp_args += self._cpp_options + ++ # We expect the preprocessor to remove macros. If debugging is turned ++ # up high enough that won't happen, so strip these out. Bug #720504 ++ for flag in ['-g3', '-ggdb3', '-gstabs3', '-gcoff3', '-gxcoff3', '-gvms3']: ++ try: ++ cpp_args.remove(flag) ++ except ValueError: ++ pass ++ + proc = subprocess.Popen(cpp_args, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE) +-- +cgit v0.10.2 + diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild new file mode 100644 index 00000000000..0ba67d99c07 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.40.0-r2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="xml" + +inherit eutils gnome2 python-single-r1 toolchain-funcs versionator + +DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages" +HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" +IUSE="cairo doctool test" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# virtual/pkgconfig needed at runtime, bug #505408 +# We force glib and goi to be in sync by this way as explained in bug #518424 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.$(get_version_component_range 2):2 + doctool? ( dev-python/mako ) + virtual/libffi:= + virtual/pkgconfig + !<dev-lang/vala-0.20.0 + ${PYTHON_DEPS} +" +# Wants real bison, not virtual/yacc +DEPEND="${RDEPEND} + >=dev-util/gtk-doc-am-1.19 + sys-devel/bison + sys-devel/flex +" +# PDEPEND to avoid circular dependencies, bug #391213 +PDEPEND="cairo? ( x11-libs/cairo[glib] )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + # Prevent gjs crashes, bug #523608 (from 'master') + epatch "${FILESDIR}/${PN}-1.40.0-gjs-crash.patch" + gnome2_src_prepare +} + +src_configure() { + if ! has_version "x11-libs/cairo[glib]"; then + # Bug #391213: enable cairo-gobject support even if it's not installed + # We only PDEPEND on cairo to avoid circular dependencies + export CAIRO_LIBS="-lcairo -lcairo-gobject" + export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo" + fi + + # To prevent crosscompiling problems, bug #414105 + gnome2_src_configure \ + --disable-static \ + CC=$(tc-getCC) \ + YACC=$(type -p yacc) \ + $(use_with cairo) \ + $(use_enable doctool) +} + +src_install() { + DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO" + gnome2_src_install + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"usr/share/aclocal/introspection.m4 \ + "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"usr/share/aclocal || die +} diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild new file mode 100644 index 00000000000..b849355eb90 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.42.0-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="xml" + +inherit gnome2 python-single-r1 toolchain-funcs versionator + +DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages" +HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" +IUSE="cairo doctool test" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# virtual/pkgconfig needed at runtime, bug #505408 +# We force glib and goi to be in sync by this way as explained in bug #518424 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.$(get_version_component_range 2):2 + doctool? ( dev-python/mako ) + virtual/libffi:= + virtual/pkgconfig + !<dev-lang/vala-0.20.0 + ${PYTHON_DEPS} +" +# Wants real bison, not virtual/yacc +DEPEND="${RDEPEND} + >=dev-util/gtk-doc-am-1.19 + sys-devel/bison + sys-devel/flex +" +# PDEPEND to avoid circular dependencies, bug #391213 +PDEPEND="cairo? ( x11-libs/cairo[glib] )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + # scanner: don't pass certain debug level flags to cpp (from 'master') + epatch "${FILESDIR}"/${PN}-1.42.0-cpp-flags.patch + gnome2_src_prepare +} + +src_configure() { + if ! has_version "x11-libs/cairo[glib]"; then + # Bug #391213: enable cairo-gobject support even if it's not installed + # We only PDEPEND on cairo to avoid circular dependencies + export CAIRO_LIBS="-lcairo -lcairo-gobject" + export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo" + fi + + # To prevent crosscompiling problems, bug #414105 + gnome2_src_configure \ + --disable-static \ + CC="$(tc-getCC)" \ + YACC="$(type -p yacc)" \ + $(use_with cairo) \ + $(use_enable doctool) +} + +src_install() { + DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO" + gnome2_src_install + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"usr/share/aclocal/introspection.m4 \ + "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"usr/share/aclocal || die +} diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild new file mode 100644 index 00000000000..9b2328495d6 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.44.0.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="xml" + +inherit gnome2 python-single-r1 toolchain-funcs versionator + +DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages" +HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" +IUSE="cairo doctool test" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# virtual/pkgconfig needed at runtime, bug #505408 +# We force glib and goi to be in sync by this way as explained in bug #518424 +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.$(get_version_component_range 2):2 + doctool? ( dev-python/mako ) + virtual/libffi:= + virtual/pkgconfig + !<dev-lang/vala-0.20.0 + ${PYTHON_DEPS} +" +# Wants real bison, not virtual/yacc +DEPEND="${RDEPEND} + >=dev-util/gtk-doc-am-1.19 + sys-devel/bison + sys-devel/flex +" +# PDEPEND to avoid circular dependencies, bug #391213 +PDEPEND="cairo? ( x11-libs/cairo[glib] )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + if ! has_version "x11-libs/cairo[glib]"; then + # Bug #391213: enable cairo-gobject support even if it's not installed + # We only PDEPEND on cairo to avoid circular dependencies + export CAIRO_LIBS="-lcairo -lcairo-gobject" + export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo" + fi + + # To prevent crosscompiling problems, bug #414105 + gnome2_src_configure \ + --disable-static \ + CC="$(tc-getCC)" \ + YACC="$(type -p yacc)" \ + $(use_with cairo) \ + $(use_enable doctool) +} + +src_install() { + DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO" + gnome2_src_install + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"usr/share/aclocal/introspection.m4 \ + "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"usr/share/aclocal || die +} diff --git a/dev-libs/gobject-introspection/metadata.xml b/dev-libs/gobject-introspection/metadata.xml new file mode 100644 index 00000000000..d1585c3f58c --- /dev/null +++ b/dev-libs/gobject-introspection/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +<use> + <flag name="doctool">Install g-ir-doc-tool for generating documentation + from introspected data</flag> +</use> +</pkgmetadata> |