From 09867d819f19dbaf10d8aed7873ac0f2a6258cc2 Mon Sep 17 00:00:00 2001 From: Patryk Zawadzki Date: Sat, 25 Sep 2010 12:59:01 +0000 Subject: [PATCH] - add introspection support - rel 4 Changed files: gobject-introspection.patch -> 1.1 libsoup.spec -> 1.96 --- gobject-introspection.patch | 707 ++++++++++++++++++++++++++++++++++++ libsoup.spec | 9 +- 2 files changed, 715 insertions(+), 1 deletion(-) create mode 100644 gobject-introspection.patch diff --git a/gobject-introspection.patch b/gobject-introspection.patch new file mode 100644 index 0000000..bd3ecd6 --- /dev/null +++ b/gobject-introspection.patch @@ -0,0 +1,707 @@ +From 0c4a6322906ec5bfe595dda5c06ec06c29876c2c Mon Sep 17 00:00:00 2001 +From: Andreas Rottmann +Date: Mon, 26 Apr 2010 19:16:32 +0000 +Subject: Add gobject-introspection support + +- Detect gobject-introspection (g-i) in configure, using the M4 macro + from the newly-added introspection.m4. This adds + gobject-introspection as a new *optional* build dependency. + +- Integrate the generation of .gir and .typelib files into the build + build process. + +- Add the annotations from gir-repository to the source code. + +- Include annotation glossary in "Reference Manual" main file. + +See . +--- +diff --git a/Makefile.am b/Makefile.am +index b845e29..861daff 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -7,9 +7,10 @@ EXTRA_DIST = \ + libsoup-2.4.pc.in \ + libsoup-gnome-2.4.pc.in \ + gtk-doc.make \ +- libsoup-zip.in ++ libsoup-zip.in \ ++ m4/introspection.m4 + +-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc ++DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection + + pkgconfigdir = $(libdir)/pkgconfig + +diff --git a/configure.ac b/configure.ac +index eb2c95f..4ff39d3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -206,6 +206,10 @@ dnl *** gtk-doc *** + dnl *************** + GTK_DOC_CHECK([1.10]) + ++dnl ***************************** ++dnl *** gobject-introspection *** ++dnl ***************************** ++GOBJECT_INTROSPECTION_CHECK([0.6.7]) + + dnl ************************************* + dnl *** Warnings to show if using GCC *** +diff --git a/docs/reference/libsoup-2.4-docs.sgml b/docs/reference/libsoup-2.4-docs.sgml +index 3cb3d11..c52208f 100644 +--- a/docs/reference/libsoup-2.4-docs.sgml ++++ b/docs/reference/libsoup-2.4-docs.sgml +@@ -68,4 +68,8 @@ + Index + + ++ ++ ++ ++ + +diff --git a/libsoup/Makefile.am b/libsoup/Makefile.am +index 284d85f..2e7c1fb 100644 +--- a/libsoup/Makefile.am ++++ b/libsoup/Makefile.am +@@ -202,7 +202,63 @@ libsoup_gnome_2_4_la_SOURCES = \ + + endif + ++# ++# Introspection support ++# ++include $(INTROSPECTION_MAKEFILE) ++INTROSPECTION_GIRS = ++INTROSPECTION_SCANNER_ARGS = --add-include-path=. ++INTROSPECTION_COMPILER_ARGS = --includedir=. ++ ++if HAVE_INTROSPECTION ++ ++# Core library ++gi_soup_files = \ ++ $(filter-out soup.h soup-enum-types.% soup-marshal.%,\ ++ $(soup_headers) $(libsoup_2_4_la_SOURCES)) ++gi_built_soup_files = soup-enum-types.h ++ ++Soup-2.4.gir: libsoup-2.4.la ++Soup_2_4_gir_INCLUDES = Gio-2.0 ++Soup_2_4_gir_CFLAGS = $(INCLUDES) ++Soup_2_4_gir_LIBS = libsoup-2.4.la ++Soup_2_4_gir_FILES = \ ++ $(addprefix $(srcdir)/, $(gi_soup_files)) \ ++ $(foreach f,$(gi_built_soup_files), \ ++ $(if $(shell test -f $(addprefix $(srcdir)/,$(f)) && echo yes), \ ++ $(addprefix $(srcdir)/,$(f)), \ ++ $(f))) ++ ++INTROSPECTION_GIRS += Soup-2.4.gir ++ ++if BUILD_LIBSOUP_GNOME ++ ++# GNOME extensions ++gi_soup_gnome_files = $(filter-out soup-gnome.h,\ ++ $(libsoupgnomeinclude_HEADERS) \ ++ $(libsoup_gnome_2_4_la_SOURCES)) ++SoupGNOME-2.4.gir: libsoup-gnome-2.4.la Soup-2.4.gir ++SoupGNOME_2_4_gir_SCANNERFLAGS = --identifier-prefix=Soup --symbol-prefix=soup ++SoupGNOME_2_4_gir_INCLUDES = Soup-2.4 ++SoupGNOME_2_4_gir_CFLAGS = $(INCLUDES) ++SoupGNOME_2_4_gir_LIBS = libsoup-gnome-2.4.la ++SoupGNOME_2_4_gir_FILES = $(addprefix $(srcdir)/,$(gi_soup_gnome_files)) ++ ++INTROSPECTION_GIRS += SoupGNOME-2.4.gir ++ ++endif ++ ++girdir = $(datadir)/gir-1.0 ++gir_DATA = $(INTROSPECTION_GIRS) ++ ++typelibdir = $(libdir)/girepository-1.0 ++typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) ++ ++CLEANFILES += $(dist_gir_DATA) $(typelib_DATA) ++ ++endif ++ + EXTRA_DIST= \ + soup-marshal.list \ + soup-enum-types.h.tmpl \ +- soup-enum-types.c.tmpl +\ No newline at end of file ++ soup-enum-types.c.tmpl +diff --git a/libsoup/soup-address.c b/libsoup/soup-address.c +index 605a51b..d8be7bd 100644 +--- a/libsoup/soup-address.c ++++ b/libsoup/soup-address.c +@@ -364,7 +364,7 @@ soup_address_new (const char *name, guint port) + * Returns a #SoupAddress equivalent to @sa (or %NULL if @sa's + * address family isn't supported) + * +- * Return value: the new #SoupAddress ++ * Return value: (allow-none): the new #SoupAddress + **/ + SoupAddress * + soup_address_new_from_sockaddr (struct sockaddr *sa, int len) +@@ -403,7 +403,7 @@ soup_address_new_from_sockaddr (struct sockaddr *sa, int len) + * for @family (or %NULL if @family isn't supported), suitable for + * passing to soup_socket_server_new(). + * +- * Return value: the new #SoupAddress ++ * Return value: (allow-none): the new #SoupAddress + **/ + SoupAddress * + soup_address_new_any (SoupAddressFamily family, guint port) +@@ -428,7 +428,7 @@ soup_address_new_any (SoupAddressFamily family, guint port) + * soup_address_is_resolved() to safely test whether or not an address + * is resolved before fetching its name or address. + * +- * Return value: the hostname, or %NULL if it is not known. ++ * Return value: (allow-none): the hostname, or %NULL if it is not known. + **/ + const char * + soup_address_get_name (SoupAddress *addr) +@@ -451,7 +451,7 @@ soup_address_get_name (SoupAddress *addr) + * soup_address_is_resolved() to safely test whether or not an address + * is resolved before fetching its name or address. + * +- * Return value: the sockaddr, or %NULL ++ * Return value: (allow-none): the sockaddr, or %NULL + **/ + struct sockaddr * + soup_address_get_sockaddr (SoupAddress *addr, int *len) +@@ -493,7 +493,7 @@ soup_address_make_inet_address (SoupAddress *addr) + * soup_address_is_resolved() to safely test whether or not an address + * is resolved before fetching its name or address. + * +- * Return value: the physical address, or %NULL ++ * Return value: (allow-none): the physical address, or %NULL + **/ + const char * + soup_address_get_physical (SoupAddress *addr) +@@ -672,7 +672,7 @@ idle_complete_resolve (gpointer addr) + * @addr: a #SoupAddress + * @async_context: the #GMainContext to call @callback from + * @cancellable: a #GCancellable object, or %NULL +- * @callback: callback to call with the result ++ * @callback: (scope async): callback to call with the result + * @user_data: data for @callback + * + * Asynchronously resolves the missing half of @addr (its IP address +diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c +index 774cf2c..41d56b2 100644 +--- a/libsoup/soup-auth.c ++++ b/libsoup/soup-auth.c +@@ -518,7 +518,7 @@ soup_auth_get_authorization (SoupAuth *auth, SoupMessage *msg) + * of @auth's protection space, unless otherwise discovered not to + * be.) + * +- * Return value: the list of paths, which must be freed with ++ * Return value: (element-type utf8): the list of paths, which can be freed with + * soup_auth_free_protection_space(). + **/ + GSList * +@@ -531,7 +531,7 @@ soup_auth_get_protection_space (SoupAuth *auth, SoupURI *source_uri) + } + + /** +- * soup_auth_free_protection_space: ++ * soup_auth_free_protection_space: (skip) + * @auth: a #SoupAuth + * @space: the return value from soup_auth_get_protection_space() + * +diff --git a/libsoup/soup-cookie.c b/libsoup/soup-cookie.c +index 7f51496..e31bdd9 100644 +--- a/libsoup/soup-cookie.c ++++ b/libsoup/soup-cookie.c +@@ -735,8 +735,8 @@ soup_cookie_free (SoupCookie *cookie) + * #SoupCookies. Cookies that do not specify "path" or + * "domain" attributes will have their values defaulted from @msg. + * +- * Return value: a #GSList of #SoupCookies, which can be freed +- * with soup_cookies_free(). ++ * Return value: (element-type SoupCookie): a #GSList of ++ * #SoupCookies, which can be freed with soup_cookies_free(). + * + * Since: 2.24 + **/ +@@ -778,8 +778,8 @@ soup_cookies_from_response (SoupMessage *msg) + * pass a cookie returned from this method directly to + * soup_cookies_to_response().) + * +- * Return value: a #GSList of #SoupCookies, which can be freed +- * with soup_cookies_free(). ++ * Return value: (element-type SoupCookie): a #GSList of ++ * #SoupCookies, which can be freed with soup_cookies_free(). + * + * Since: 2.24 + **/ +@@ -813,7 +813,7 @@ soup_cookies_from_request (SoupMessage *msg) + + /** + * soup_cookies_to_response: +- * @cookies: a #GSList of #SoupCookie ++ * @cookies: (element-type SoupCookie): a #GSList of #SoupCookie + * @msg: a #SoupMessage + * + * Appends a "Set-Cookie" response header to @msg for each cookie in +@@ -840,7 +840,7 @@ soup_cookies_to_response (GSList *cookies, SoupMessage *msg) + + /** + * soup_cookies_to_request: +- * @cookies: a #GSList of #SoupCookie ++ * @cookies: (element-type SoupCookie): a #GSList of #SoupCookie + * @msg: a #SoupMessage + * + * Adds the name and value of each cookie in @cookies to @msg's +@@ -868,8 +868,8 @@ soup_cookies_to_request (GSList *cookies, SoupMessage *msg) + } + + /** +- * soup_cookies_free: +- * @cookies: a #GSList of #SoupCookie ++ * soup_cookies_free: (skip) ++ * @cookies: (element-type SoupCookie): a #GSList of #SoupCookie + * + * Frees @cookies. + * +@@ -887,7 +887,7 @@ soup_cookies_free (GSList *cookies) + + /** + * soup_cookies_to_cookie_header: +- * @cookies: a #GSList of #SoupCookie ++ * @cookies: (element-type SoupCookie): a #GSList of #SoupCookie + * + * Serializes a #GSList of #SoupCookie into a string suitable for + * setting as the value of the "Cookie" header. +diff --git a/libsoup/soup-date.c b/libsoup/soup-date.c +index 2279786..5509af8 100644 +--- a/libsoup/soup-date.c ++++ b/libsoup/soup-date.c +@@ -722,7 +722,7 @@ soup_date_to_time_t (SoupDate *date) + /** + * soup_date_to_timeval: + * @date: a #SoupDate +- * @time: a #GTimeVal structure in which to store the converted time. ++ * @time: (out): a #GTimeVal structure in which to store the converted time. + * + * Converts @date to a #GTimeVal. + * +diff --git a/libsoup/soup-form.c b/libsoup/soup-form.c +index 278d845..477e0c7 100644 +--- a/libsoup/soup-form.c ++++ b/libsoup/soup-form.c +@@ -78,8 +78,9 @@ form_decode (char *part) + * Decodes @form, which is an urlencoded dataset as defined in the + * HTML 4.01 spec. + * +- * Return value: a hash table containing the name/value pairs from +- * @encoded_form, which you can free with g_hash_table_destroy(). ++ * Return value: (element-type utf8 utf8): a hash table containing the ++ * name/value pairs from @encoded_form, which you can free with ++ * g_hash_table_destroy(). + **/ + GHashTable * + soup_form_decode (const char *encoded_form) +@@ -269,7 +270,8 @@ soup_form_encode (const char *first_field, ...) + + /** + * soup_form_encode_hash: +- * @form_data_set: a hash table containing name/value pairs (as strings) ++ * @form_data_set: (element-type utf8 utf8): a hash table containing ++ * name/value pairs (as strings) + * + * Encodes @form_data_set into a value of type + * "application/x-www-form-urlencoded", as defined in the HTML 4.01 +@@ -414,7 +416,7 @@ soup_form_request_new (const char *method, const char *uri, + * soup_form_request_new_from_hash: + * @method: the HTTP method, either "GET" or "POST" + * @uri: the URI to send the form data to +- * @form_data_set: the data to send to @uri ++ * @form_data_set: (element-type utf8 utf8): the data to send to @uri + * + * Creates a new %SoupMessage and sets it up to send @form_data_set to + * @uri via @method, as with soup_form_request_new(). +diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c +index 5e73a3c..9a48e3d 100644 +--- a/libsoup/soup-headers.c ++++ b/libsoup/soup-headers.c +@@ -158,9 +158,12 @@ soup_headers_clean_for_10 (SoupMessageHeaders *hdrs) + * @str: the header string (including the trailing blank line) + * @len: length of @str up to (but not including) the terminating blank line. + * @req_headers: #SoupMessageHeaders to store the header values in +- * @req_method: if non-%NULL, will be filled in with the request method +- * @req_path: if non-%NULL, will be filled in with the request path +- * @ver: if non-%NULL, will be filled in with the HTTP version ++ * @req_method: (out) (allow-none): if non-%NULL, will be filled in with the ++ * request method ++ * @req_path: (out) (allow-none): if non-%NULL, will be filled in with the ++ * request path ++ * @ver: (out) (allow-none): if non-%NULL, will be filled in with the HTTP ++ * version + * + * Parses the headers of an HTTP request in @str and stores the + * results in @req_method, @req_path, @ver, and @req_headers. +@@ -264,10 +267,12 @@ soup_headers_parse_request (const char *str, + /** + * soup_headers_parse_status_line: + * @status_line: an HTTP Status-Line +- * @ver: if non-%NULL, will be filled in with the HTTP version +- * @status_code: if non-%NULL, will be filled in with the status code +- * @reason_phrase: if non-%NULL, will be filled in with the reason +- * phrase ++ * @ver: (out) (allow-none): if non-%NULL, will be filled in with the HTTP ++ * version ++ * @status_code: (out) (allow-none): if non-%NULL, will be filled in with ++ * the status code ++ * @reason_phrase: (out) (allow-none): if non-%NULL, will be filled in with ++ * the reason phrase + * + * Parses the HTTP Status-Line string in @status_line into @ver, + * @status_code, and @reason_phrase. @status_line must be terminated by +@@ -339,10 +344,12 @@ soup_headers_parse_status_line (const char *status_line, + * @str: the header string (including the trailing blank line) + * @len: length of @str up to (but not including) the terminating blank line. + * @headers: #SoupMessageheaders to store the header values in +- * @ver: if non-%NULL, will be filled in with the HTTP version +- * @status_code: if non-%NULL, will be filled in with the status code +- * @reason_phrase: if non-%NULL, will be filled in with the reason +- * phrase ++ * @ver: (out) (allow-none): if non-%NULL, will be filled in with the HTTP ++ * version ++ * @status_code: (out) (allow-none): if non-%NULL, will be filled in with ++ * the status code ++ * @reason_phrase: (out) (allow-none): if non-%NULL, will be filled in with ++ * the reason phrase + * + * Parses the headers of an HTTP response in @str and stores the + * results in @ver, @status_code, @reason_phrase, and @headers. +@@ -504,8 +511,8 @@ sort_by_qval (const void *a, const void *b) + /** + * soup_header_parse_quality_list: + * @header: a header value +- * @unacceptable: on return, will contain a list of unacceptable +- * values ++ * @unacceptable: (out) (allow-none): on return, will contain a list of ++ * unacceptable values + * + * Parses a header whose content is a list of items with optional + * "qvalue"s (eg, Accept, Accept-Charset, Accept-Encoding, +diff --git a/libsoup/soup-message-body.c b/libsoup/soup-message-body.c +index 77ff906..f723374 100644 +--- a/libsoup/soup-message-body.c ++++ b/libsoup/soup-message-body.c +@@ -413,7 +413,7 @@ append_buffer (SoupMessageBody *body, SoupBuffer *buffer) + * soup_message_body_append: + * @body: a #SoupMessageBody + * @use: how to use @data +- * @data: data to append ++ * @data: (array length=length) (element-type uint8): data to append + * @length: length of @data + * + * Appends @length bytes from @data to @body according to @use. +diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c +index 6acca0c..4a72f6a 100644 +--- a/libsoup/soup-message-headers.c ++++ b/libsoup/soup-message-headers.c +@@ -408,7 +408,8 @@ typedef struct { + + /** + * soup_message_headers_iter_init: +- * @iter: a pointer to a %SoupMessageHeadersIter structure ++ * @iter: (out) (transfer none): a pointer to a %SoupMessageHeadersIter ++ * structure + * @hdrs: a %SoupMessageHeaders + * + * Initializes @iter for iterating @hdrs. +@@ -425,9 +426,11 @@ soup_message_headers_iter_init (SoupMessageHeadersIter *iter, + + /** + * soup_message_headers_iter_next: +- * @iter: a %SoupMessageHeadersIter +- * @name: pointer to a variable to return the header name in +- * @value: pointer to a variable to return the header value in ++ * @iter: (inout) (transfer none): a %SoupMessageHeadersIter ++ * @name: (out) (transfer none): pointer to a variable to return ++ * the header name in ++ * @value: (out) (transfer none): pointer to a variable to return ++ * the header value in + * + * Yields the next name/value pair in the %SoupMessageHeaders being + * iterated by @iter. If @iter has already yielded the last header, +diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c +index 7c0b802..4738c76 100644 +--- a/libsoup/soup-message.c ++++ b/libsoup/soup-message.c +@@ -764,9 +764,10 @@ soup_message_set_request (SoupMessage *msg, + /** + * soup_message_set_response: + * @msg: the message +- * @content_type: MIME Content-Type of the body ++ * @content_type: (allow-none): MIME Content-Type of the body + * @resp_use: a #SoupMemoryUse describing how to handle @resp_body +- * @resp_body: a data buffer containing the body of the message response. ++ * @resp_body: (array length=resp_length) (element-type uint8): a data buffer ++ * containing the body of the message response. + * @resp_length: the byte length of @resp_body. + * + * Convenience function to set the response body of a #SoupMessage. If +diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c +index 0506550..788bb59 100644 +--- a/libsoup/soup-server.c ++++ b/libsoup/soup-server.c +@@ -652,7 +652,7 @@ soup_server_is_https (SoupServer *server) + * read-only; writing to it or modifiying it may cause @server to + * malfunction. + * +- * Return value: the listening socket. ++ * Return value: (transfer none): the listening socket. + **/ + SoupSocket * + soup_server_get_listener (SoupServer *server) +@@ -996,7 +996,7 @@ soup_server_quit (SoupServer *server) + * context, so you will need to ref it yourself if you want it to + * outlive its server. + * +- * Return value: @server's #GMainContext, which may be %NULL ++ * Return value: (transfer none): @server's #GMainContext, which may be %NULL + **/ + GMainContext * + soup_server_get_async_context (SoupServer *server) +@@ -1053,7 +1053,8 @@ soup_client_context_get_type (void) + * not get fooled when the allocator reuses the memory address of a + * previously-destroyed socket to represent a new socket. + * +- * Return value: the #SoupSocket that @client is associated with. ++ * Return value: (transfer none): the #SoupSocket that @client is ++ * associated with. + **/ + SoupSocket * + soup_client_context_get_socket (SoupClientContext *client) +@@ -1070,8 +1071,8 @@ soup_client_context_get_socket (SoupClientContext *client) + * Retrieves the #SoupAddress associated with the remote end + * of a connection. + * +- * Return value: the #SoupAddress associated with the remote end of a +- * connection. ++ * Return value: (transfer none): the #SoupAddress associated with the ++ * remote end of a connection. + **/ + SoupAddress * + soup_client_context_get_address (SoupClientContext *client) +@@ -1110,8 +1111,8 @@ soup_client_context_get_host (SoupClientContext *client) + * authenticated, and if so returns the #SoupAuthDomain that + * authenticated it. + * +- * Return value: a #SoupAuthDomain, or %NULL if the request was not +- * authenticated. ++ * Return value: (transfer none) (allow-none): a #SoupAuthDomain, or ++ * %NULL if the request was not authenticated. + **/ + SoupAuthDomain * + soup_client_context_get_auth_domain (SoupClientContext *client) +@@ -1145,7 +1146,8 @@ soup_client_context_get_auth_user (SoupClientContext *client) + * @server: the #SoupServer + * @msg: the message being processed + * @path: the path component of @msg's Request-URI +- * @query: the parsed query component of @msg's Request-URI ++ * @query: (element-type utf8 utf8) (allow-none): the parsed query ++ * component of @msg's Request-URI + * @client: additional contextual information about the client + * @user_data: the data passed to @soup_server_add_handler + * +@@ -1200,7 +1202,7 @@ soup_client_context_get_auth_user (SoupClientContext *client) + /** + * soup_server_add_handler: + * @server: a #SoupServer +- * @path: the toplevel path for the handler ++ * @path: (allow-none): the toplevel path for the handler + * @callback: callback to invoke for requests under @path + * @user_data: data for @callback + * @destroy: destroy notifier to free @user_data +diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c +index 46dd8ee..4357a84 100644 +--- a/libsoup/soup-session.c ++++ b/libsoup/soup-session.c +@@ -1575,10 +1575,10 @@ queue_message (SoupSession *session, SoupMessage *msg, + /** + * soup_session_queue_message: + * @session: a #SoupSession +- * @msg: the message to queue +- * @callback: a #SoupSessionCallback which will be called after the +- * message completes or when an unrecoverable error occurs. +- * @user_data: a pointer passed to @callback. ++ * @msg: (transfer full): the message to queue ++ * @callback: (allow-none) (scope async): a #SoupSessionCallback which will ++ * be called after the message completes or when an unrecoverable error occurs. ++ * @user_data: (allow-none): a pointer passed to @callback. + * + * Queues the message @msg for sending. All messages are processed + * while the glib main loop runs. If @msg has been processed before, +diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c +index 4f570a7..8f961a1 100644 +--- a/libsoup/soup-socket.c ++++ b/libsoup/soup-socket.c +@@ -750,7 +750,7 @@ socket_connect_internal (SoupSocket *sock) + * soup_socket_connect_async: + * @sock: a client #SoupSocket (which must not already be connected) + * @cancellable: a #GCancellable, or %NULL +- * @callback: callback to call after connecting ++ * @callback: (scope async): callback to call after connecting + * @user_data: data to pass to @callback + * + * Begins asynchronously connecting to @sock's remote address. The +@@ -1148,7 +1148,7 @@ soup_socket_is_connected (SoupSocket *sock) + * + * Returns the #SoupAddress corresponding to the local end of @sock. + * +- * Return value: the #SoupAddress ++ * Return value: (transfer none): the #SoupAddress + **/ + SoupAddress * + soup_socket_get_local_address (SoupSocket *sock) +@@ -1178,7 +1178,7 @@ soup_socket_get_local_address (SoupSocket *sock) + * + * Returns the #SoupAddress corresponding to the remote end of @sock. + * +- * Return value: the #SoupAddress ++ * Return value: (transfer none): the #SoupAddress + **/ + SoupAddress * + soup_socket_get_remote_address (SoupSocket *sock) +diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c +index 63277b8..a3bd34d 100644 +--- a/libsoup/soup-xmlrpc.c ++++ b/libsoup/soup-xmlrpc.c +@@ -545,8 +545,8 @@ parse_value (xmlNode *xmlvalue, GValue *value) + * soup_xmlrpc_parse_method_call: + * @method_call: the XML-RPC methodCall string + * @length: the length of @method_call, or -1 if it is NUL-terminated +- * @method_name: on return, the methodName from @method_call +- * @params: on return, the parameters from @method_call ++ * @method_name: (out): on return, the methodName from @method_call ++ * @params: (out): on return, the parameters from @method_call + * + * Parses @method_call to get the name and parameters, and returns the + * parameter values in a #GValueArray; see also +@@ -612,7 +612,7 @@ fail: + * soup_xmlrpc_extract_method_call: + * @method_call: the XML-RPC methodCall string + * @length: the length of @method_call, or -1 if it is NUL-terminated +- * @method_name: on return, the methodName from @method_call ++ * @method_name: (out): on return, the methodName from @method_call + * @...: return types and locations for parameters + * + * Parses @method_call to get the name and parameters, and puts +@@ -652,7 +652,7 @@ soup_xmlrpc_extract_method_call (const char *method_call, int length, + * soup_xmlrpc_parse_method_response: + * @method_response: the XML-RPC methodResponse string + * @length: the length of @method_response, or -1 if it is NUL-terminated +- * @value: on return, the return value from @method_call ++ * @value: (out): on return, the return value from @method_call + * @error: error return value + * + * Parses @method_response and returns the return value in @value. If +diff --git a/m4/introspection.m4 b/m4/introspection.m4 +new file mode 100644 +index 0000000..589721c +--- a/dev/null ++++ b/m4/introspection.m4 +@@ -0,0 +1,94 @@ ++dnl -*- mode: autoconf -*- ++dnl Copyright 2009 Johan Dahlin ++dnl ++dnl This file is free software; the author(s) gives unlimited ++dnl permission to copy and/or distribute it, with or without ++dnl modifications, as long as this notice is preserved. ++dnl ++ ++# serial 1 ++ ++m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], ++[ ++ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first ++ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first ++ AC_BEFORE([LT_INIT],[$0])dnl setup libtool first ++ ++ dnl enable/disable introspection ++ m4_if([$2], [require], ++ [dnl ++ enable_introspection=yes ++ ],[dnl ++ AC_ARG_ENABLE(introspection, ++ AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], ++ [Enable introspection for this build]),, ++ [enable_introspection=auto]) ++ ])dnl ++ ++ AC_MSG_CHECKING([for gobject-introspection]) ++ ++ dnl presence/version checking ++ AS_CASE([$enable_introspection], ++ [no], [dnl ++ found_introspection="no (disabled, use --enable-introspection to enable)" ++ ],dnl ++ [yes],[dnl ++ PKG_CHECK_EXISTS([gobject-introspection-1.0],, ++ AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) ++ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], ++ found_introspection=yes, ++ AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) ++ ],dnl ++ [auto],[dnl ++ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) ++ ],dnl ++ [dnl ++ AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) ++ ])dnl ++ ++ AC_MSG_RESULT([$found_introspection]) ++ ++ INTROSPECTION_SCANNER= ++ INTROSPECTION_COMPILER= ++ INTROSPECTION_GENERATE= ++ INTROSPECTION_GIRDIR= ++ INTROSPECTION_TYPELIBDIR= ++ if test "x$found_introspection" = "xyes"; then ++ INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` ++ INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` ++ INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` ++ INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` ++ INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" ++ INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` ++ INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` ++ INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection ++ fi ++ AC_SUBST(INTROSPECTION_SCANNER) ++ AC_SUBST(INTROSPECTION_COMPILER) ++ AC_SUBST(INTROSPECTION_GENERATE) ++ AC_SUBST(INTROSPECTION_GIRDIR) ++ AC_SUBST(INTROSPECTION_TYPELIBDIR) ++ AC_SUBST(INTROSPECTION_CFLAGS) ++ AC_SUBST(INTROSPECTION_LIBS) ++ AC_SUBST(INTROSPECTION_MAKEFILE) ++ ++ AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") ++]) ++ ++ ++dnl Usage: ++dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) ++ ++AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], ++[ ++ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) ++]) ++ ++dnl Usage: ++dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) ++ ++ ++AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], ++[ ++ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) ++]) +-- +cgit v0.8.3.1 diff --git a/libsoup.spec b/libsoup.spec index 7cd4b85..9d88422 100644 --- a/libsoup.spec +++ b/libsoup.spec @@ -2,12 +2,13 @@ Summary: SOAP (Simple Object Access Protocol) implementation in C Summary(pl.UTF-8): Implementacja w C SOAP (Simple Object Access Protocol) Name: libsoup Version: 2.30.2 -Release: 3 +Release: 4 License: LGPL v2+ Group: Libraries Source0: http://ftp.gnome.org/pub/GNOME/sources/libsoup/2.30/%{name}-%{version}.tar.bz2 # Source0-md5: f33b62063e76a9b1d5503363a3ed6a84 Patch0: %{name}-gnutls-TLS1.2.patch +Patch1: gobject-introspection.patch URL: http://www.gnome.org/ BuildRequires: GConf2-devel BuildRequires: autoconf >= 2.63 @@ -15,6 +16,7 @@ BuildRequires: automake >= 1:1.9 BuildRequires: docbook-dtd412-xml BuildRequires: glib2-devel >= 1:2.22.0 BuildRequires: gnutls-devel >= 2.1.7 +BuildRequires: gobject-introspection-devel >= 0.9.5 BuildRequires: gtk-doc >= 1.6 BuildRequires: libgnome-keyring-devel BuildRequires: libproxy-devel @@ -116,6 +118,7 @@ Dokumentacja API libsoup. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %{__gtkdocize} @@ -154,6 +157,7 @@ rm -rf $RPM_BUILD_ROOT %doc AUTHORS NEWS README %attr(755,root,root) %{_libdir}/libsoup-2.4.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libsoup-2.4.so.1 +%{_libdir}/girepository-1.0/Soup-2.4.typelib %files devel %defattr(644,root,root,755) @@ -161,6 +165,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libsoup-2.4.la %{_includedir}/libsoup-2.4 %{_pkgconfigdir}/libsoup-2.4.pc +%{_datadir}/gir-1.0/Soup-2.4.gir %files static %defattr(644,root,root,755) @@ -170,6 +175,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libsoup-gnome-2.4.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libsoup-gnome-2.4.so.1 +%{_libdir}/girepository-1.0/SoupGNOME-2.4.typelib %files gnome-devel %defattr(644,root,root,755) @@ -177,6 +183,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libsoup-gnome-2.4.la %{_includedir}/libsoup-gnome-2.4 %{_pkgconfigdir}/libsoup-gnome-2.4.pc +%{_datadir}/gir-1.0/SoupGNOME-2.4.gir %files gnome-static %defattr(644,root,root,755) -- 2.43.0