Skip to content
Commits on Source (19)
......@@ -143,6 +143,22 @@ msys2-mingw64-meson:
paths:
- _build/meson-logs
msys2-clang64-meson:
stage: build
tags:
- win32-ps
variables:
MSYSTEM: "CLANG64"
CHERE_INVOKING: "yes"
script:
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
- C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2-meson.sh"
artifacts:
when: on_failure
name: "gi-_${env:CI_COMMIT_REF_NAME}"
paths:
- _build/meson-logs
vs2017-x64-meson:
stage: build
tags:
......
......@@ -2,30 +2,24 @@
set -e
if [[ "$MSYSTEM" == "MINGW32" ]]; then
export MSYS2_ARCH="i686"
else
export MSYS2_ARCH="x86_64"
fi
pacman --noconfirm -Suy
pacman --noconfirm -S --needed \
git \
base-devel \
mingw-w64-$MSYS2_ARCH-toolchain \
mingw-w64-$MSYS2_ARCH-ccache \
mingw-w64-$MSYS2_ARCH-meson \
mingw-w64-$MSYS2_ARCH-python3 \
mingw-w64-$MSYS2_ARCH-python3-pip \
mingw-w64-$MSYS2_ARCH-python3-mako \
mingw-w64-$MSYS2_ARCH-python3-markdown \
mingw-w64-$MSYS2_ARCH-libffi \
mingw-w64-$MSYS2_ARCH-pkg-config \
mingw-w64-$MSYS2_ARCH-cairo \
mingw-w64-$MSYS2_ARCH-pcre2 \
mingw-w64-$MSYS2_ARCH-zlib \
mingw-w64-$MSYS2_ARCH-gettext
${MINGW_PACKAGE_PREFIX}-toolchain \
${MINGW_PACKAGE_PREFIX}-ccache \
${MINGW_PACKAGE_PREFIX}-meson \
${MINGW_PACKAGE_PREFIX}-python3 \
${MINGW_PACKAGE_PREFIX}-python3-pip \
${MINGW_PACKAGE_PREFIX}-python3-mako \
${MINGW_PACKAGE_PREFIX}-python3-markdown \
${MINGW_PACKAGE_PREFIX}-libffi \
${MINGW_PACKAGE_PREFIX}-pkg-config \
${MINGW_PACKAGE_PREFIX}-cairo \
${MINGW_PACKAGE_PREFIX}-pcre2 \
${MINGW_PACKAGE_PREFIX}-zlib \
${MINGW_PACKAGE_PREFIX}-gettext
export CCACHE_BASEDIR="${CI_PROJECT_DIR}"
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
......
1.74.0 - 2022-09-17
-------------------
* Update the GIR data for GLib, GObject, GModule, and GIO
1.73.1 - 2022-09-03
-------------------
* Update the GIR data for GLib, GObject, GModule, and GIO
* Disable rpath on Windows [Christoph Reiter]
* Add llvm/mingw support on Windows [Christoph Reiter]
* Fix annotations in libgirepository [Philip Chimento]
* Support C99 designated initializers when parsing C declarations [Jan Tojnar]
* Add some more types to win32 GIR [Marc-André Lureau]
* Let doctool prepend emitting objects in GJS signals [Andy Holmes]
* Require a C99 toolchain like GLib
1.73.0 - 2022-07-13
-------------------
......
......@@ -243,6 +243,10 @@
* fails. The startup notification id is provided, so that the launcher
* can cancel the startup notification.
*
* Because a launch operation may involve spawning multiple instances of the
* target application, you should expect this signal to be emitted multiple
* times, one for each spawned instance.
*
* Since: 2.36
*/
 
......@@ -268,6 +272,10 @@
* It is guaranteed that this signal is followed by either a #GAppLaunchContext::launched or
* #GAppLaunchContext::launch-failed signal.
*
* Because a launch operation may involve spawning multiple instances of the
* target application, you should expect this signal to be emitted multiple
* times, one for each spawned instance.
*
* Since: 2.72
*/
 
......@@ -279,7 +287,13 @@
* @platform_data: additional platform-specific data for this launch
*
* The #GAppLaunchContext::launched signal is emitted when a #GAppInfo is successfully
* launched. The @platform_data is an GVariant dictionary mapping
* launched.
*
* Because a launch operation may involve spawning multiple instances of the
* target application, you should expect this signal to be emitted multiple
* times, one time for each spawned instance.
*
* The @platform_data is an GVariant dictionary mapping
* strings to variants (ie `a{sv}`), which contains additional,
* platform-specific data about this launch. On UNIX, at least the
* `pid` and `startup-notification-id` keys will be present.
......@@ -288,6 +302,11 @@
* example if the process was launched via D-Bus). The `pid` may not be
* set at all in subsequent releases.
*
* On Windows, `pid` is guaranteed to be valid only for the duration of the
* #GAppLaunchContext::launched signal emission; after the signal is emitted,
* GLib will call g_spawn_close_pid(). If you need to keep the #GPid after the
* signal has been emitted, then you can duplicate `pid` using `DuplicateHandle()`.
*
* Since: 2.36
*/
 
......@@ -11420,8 +11439,8 @@
* @action_group: a #GActionGroup
* @action_name: the name of an action in the group
* @enabled: (out): if the action is presently enabled
* @parameter_type: (out) (optional): the parameter type, or %NULL if none needed
* @state_type: (out) (optional): the state type, or %NULL if stateless
* @parameter_type: (out) (transfer none) (optional): the parameter type, or %NULL if none needed
* @state_type: (out) (transfer none) (optional): the state type, or %NULL if stateless
* @state_hint: (out) (optional): the state hint, or %NULL if none
* @state: (out) (optional): the current state, or %NULL if stateless
*
......@@ -12077,7 +12096,9 @@
* Launches the application. This passes the @uris to the launched application
* as arguments, using the optional @context to get information
* about the details of the launcher (like what screen it is on).
* On error, @error will be set accordingly.
* On error, @error will be set accordingly. If the application only supports
* one URI per invocation as part of their command-line, multiple instances
* of the application will be spawned.
*
* To launch the application without arguments pass a %NULL @uris list.
*
......@@ -40844,7 +40865,7 @@
* check a certificate against a CA that is not part of the system
* CA database.
*
* If @cert is valid, %G_TLS_CERTIFICATE_FLAGS_NONE is returned.
* If @cert is valid, %G_TLS_CERTIFICATE_NO_FLAGS is returned.
*
* If @identity is not %NULL, @cert's name(s) will be compared against
* it, and %G_TLS_CERTIFICATE_BAD_IDENTITY will be set in the return
......@@ -9233,6 +9233,9 @@
* alignment value. Additionally, it will detect possible overflow during
* multiplication.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Aligned memory allocations returned by this function can only be
* freed using g_aligned_free().
*
......@@ -23295,6 +23298,9 @@
* Allocates @n_bytes bytes of memory.
* If @n_bytes is 0 it returns %NULL.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Returns: a pointer to the allocated memory
*/
 
......@@ -23306,6 +23312,9 @@
* Allocates @n_bytes bytes of memory, initialized to 0's.
* If @n_bytes is 0 it returns %NULL.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Returns: a pointer to the allocated memory
*/
 
......@@ -23318,6 +23327,9 @@
* This function is similar to g_malloc0(), allocating (@n_blocks * @n_block_bytes) bytes,
* but care is taken to detect possible overflow during multiplication.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Since: 2.24
* Returns: a pointer to the allocated memory
*/
......@@ -23331,6 +23343,9 @@
* This function is similar to g_malloc(), allocating (@n_blocks * @n_block_bytes) bytes,
* but care is taken to detect possible overflow during multiplication.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Since: 2.24
* Returns: a pointer to the allocated memory
*/
......@@ -24083,7 +24098,7 @@
* and must not be freed. Use g_regex_ref() if you need to keep it
* after you free @match_info object.
*
* Returns: #GRegex object used in @match_info
* Returns: (transfer none): #GRegex object used in @match_info
* Since: 2.14
*/
 
......@@ -27697,6 +27712,9 @@
* have zero-length. @n_bytes may be 0, in which case %NULL will be returned
* and @mem will be freed unless it is %NULL.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Returns: the new address of the allocated memory
*/
 
......@@ -27710,6 +27728,9 @@
* This function is similar to g_realloc(), allocating (@n_blocks * @n_block_bytes) bytes,
* but care is taken to detect possible overflow during multiplication.
*
* If the allocation fails (because the system is out of memory),
* the program is terminated.
*
* Since: 2.24
* Returns: the new address of the allocated memory
*/
......@@ -37427,11 +37448,11 @@
*
* For example, an effective use of this function is to handle `SIGTERM`
* cleanly; flushing any outstanding files, and then calling
* g_main_loop_quit (). It is not safe to do any of this a regular
* UNIX signal handler; your handler may be invoked while malloc() or
* another library function is running, causing reentrancy if you
* attempt to use it from the handler. None of the GLib/GObject API
* is safe against this kind of reentrancy.
* g_main_loop_quit(). It is not safe to do any of this from a regular
* UNIX signal handler; such a handler may be invoked while malloc() or
* another library function is running, causing reentrancy issues if the
* handler attempts to use those functions. None of the GLib/GObject
* API is safe against this kind of reentrancy.
*
* The interaction of this source when combined with native UNIX
* functions like sigprocmask() is not defined.
......@@ -3926,8 +3926,8 @@
/**
* g_param_spec_boolean:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @default_value: default value for the property specified
* @flags: flags for the property specified
*
......@@ -3946,8 +3946,8 @@
/**
* g_param_spec_boxed:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @boxed_type: %G_TYPE_BOXED derived type of this property
* @flags: flags for the property specified
*
......@@ -3963,8 +3963,8 @@
/**
* g_param_spec_char:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -3979,8 +3979,8 @@
/**
* g_param_spec_double:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -3998,8 +3998,8 @@
/**
* g_param_spec_enum:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @enum_type: a #GType derived from %G_TYPE_ENUM
* @default_value: default value for the property specified
* @flags: flags for the property specified
......@@ -4016,8 +4016,8 @@
/**
* g_param_spec_flags:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @flags_type: a #GType derived from %G_TYPE_FLAGS
* @default_value: default value for the property specified
* @flags: flags for the property specified
......@@ -4034,8 +4034,8 @@
/**
* g_param_spec_float:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4138,8 +4138,8 @@
/**
* g_param_spec_gtype:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @is_a_type: a #GType whose subtypes are allowed as values
* of the property (use %G_TYPE_NONE for any type)
* @flags: flags for the property specified
......@@ -4157,8 +4157,8 @@
/**
* g_param_spec_int:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4175,8 +4175,8 @@
/**
* g_param_spec_int64:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4194,8 +4194,8 @@
* g_param_spec_internal: (skip)
* @param_type: the #GType for the property; must be derived from %G_TYPE_PARAM
* @name: the canonical name of the property
* @nick: the nickname of the property
* @blurb: a short description of the property
* @nick: (nullable): the nickname of the property
* @blurb: (nullable): a short description of the property
* @flags: a combination of #GParamFlags
*
* Creates a new #GParamSpec instance.
......@@ -4204,11 +4204,12 @@
* the rules for @name. Names which violate these rules lead to undefined
* behaviour.
*
* Beyond the name, #GParamSpecs have two more descriptive
* strings associated with them, the @nick, which should be suitable
* for use as a label for the property in a property editor, and the
* @blurb, which should be a somewhat longer description, suitable for
* e.g. a tooltip. The @nick and @blurb should ideally be localized.
* Beyond the name, #GParamSpecs have two more descriptive strings, the
* @nick and @blurb, which may be used as a localized label and description.
* For GTK and related libraries these are considered deprecated and may be
* omitted, while for other libraries such as GStreamer and its plugins they
* are essential. When in doubt, follow the conventions used in the
* surrounding code and supporting libraries.
*
* Returns: (type GObject.ParamSpec): (transfer floating): a newly allocated
* #GParamSpec instance, which is initially floating
......@@ -4234,8 +4235,8 @@
/**
* g_param_spec_long:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4252,8 +4253,8 @@
/**
* g_param_spec_object:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @object_type: %G_TYPE_OBJECT derived type of this property
* @flags: flags for the property specified
*
......@@ -4283,8 +4284,8 @@
/**
* g_param_spec_param:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @param_type: a #GType derived from %G_TYPE_PARAM
* @flags: flags for the property specified
*
......@@ -4300,8 +4301,8 @@
/**
* g_param_spec_pointer:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @flags: flags for the property specified
*
* Creates a new #GParamSpecPointer instance specifying a pointer property.
......@@ -4475,8 +4476,8 @@
/**
* g_param_spec_string:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @default_value: (nullable): default value for the property specified
* @flags: flags for the property specified
*
......@@ -4491,8 +4492,8 @@
/**
* g_param_spec_uchar:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4507,8 +4508,8 @@
/**
* g_param_spec_uint:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4525,8 +4526,8 @@
/**
* g_param_spec_uint64:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4544,8 +4545,8 @@
/**
* g_param_spec_ulong:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @minimum: minimum value for the property specified
* @maximum: maximum value for the property specified
* @default_value: default value for the property specified
......@@ -4563,8 +4564,8 @@
/**
* g_param_spec_unichar:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @default_value: default value for the property specified
* @flags: flags for the property specified
*
......@@ -4589,8 +4590,8 @@
/**
* g_param_spec_value_array: (skip)
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @element_spec: a #GParamSpec describing the elements contained in
* arrays of this property, may be %NULL
* @flags: flags for the property specified
......@@ -4609,8 +4610,8 @@
/**
* g_param_spec_variant:
* @name: canonical name of the property specified
* @nick: nick name for the property specified
* @blurb: description of the property specified
* @nick: (nullable): nick name for the property specified
* @blurb: (nullable): description of the property specified
* @type: a #GVariantType
* @default_value: (nullable) (transfer full): a #GVariant of type @type to
* use as the default value, or %NULL
......@@ -5488,7 +5489,7 @@
* an object definition, instead the function pointer is passed
* directly and can be overridden by derived classes with
* g_signal_override_class_closure() or
* g_signal_override_class_handler()and chained to with
* g_signal_override_class_handler() and chained to with
* g_signal_chain_from_overridden() or
* g_signal_chain_from_overridden_handler().
*
......
......@@ -11,9 +11,14 @@
<alias name="HICON" c:type="HICON">
<type name="gulong" c:type="gulong"/>
</alias>
<alias name="HCURSOR" c:type="HCURSOR">
<type name="gulong" c:type="gulong"/>
</alias>
<alias name="HGDIOBJ" c:type="HGDIOBJ">
<type name="gulong" c:type="gulong"/>
</alias>
<record name="MSG" c:type="MSG"/>
</namespace>
</repository>
......@@ -43,6 +43,7 @@ if cc.get_id() != 'msvc'
'-Wno-cast-align',
'-Wno-unused-function',
'-Wno-return-type',
'-Wno-sometimes-uninitialized',
])
endif
......
......@@ -237,8 +237,7 @@ g_invoke_error_quark (void)
* may be %NULL
* @n_out_args: the length of the @out_args array
* @return_value: return location for the return value of the
* function. If the function returns void, @return_value may be
* %NULL
* function.
* @error: return location for detailed error information, or %NULL
*
* Invokes the function described in @info with the given
......
......@@ -95,6 +95,41 @@ def customize_compiler(compiler):
compiler.shared_lib_extension = shlib_suffix
def resolve_mingw_lib(implib, libtool=None):
"""Returns a DLL name given a path to an import lib
/full/path/to/libgtk-3.dll.a -> libgtk-3-0.dll
"""
args = []
if libtool:
args.extend(libtool)
args.append('--mode=execute')
# Figure out if we have a gcc toolchain or llvm one
dlltool = os.environ.get('DLLTOOL', 'dlltool.exe')
dlltool_output = subprocess.run(
[dlltool], stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
universal_newlines=True).stdout
is_llvm = 'llvm-dlltool' in dlltool_output
if not is_llvm:
# gcc dlltool provides this via --identify
dlltool_args = args + [dlltool, '--identify']
output = subprocess.check_output(dlltool_args + [implib], universal_newlines=True)
for line in output.splitlines():
return line
else:
# for llvm we need to parse the output of nm
# https://github.com/msys2/MINGW-packages/issues/11994#issuecomment-1176691216
output = subprocess.check_output(args + ['nm', implib], universal_newlines=True)
for line in output.splitlines():
if line.endswith(':'):
return line[:-1]
return None
# Flags that retain macros in preprocessed output.
FLAGS_RETAINING_MACROS = ['-g3', '-ggdb3', '-gstabs3', '-gcoff3', '-gxcoff3', '-gvms3']
......@@ -208,7 +243,7 @@ class CCompiler(object):
args.append('-libpath:' + library_path)
else:
args.append('-L' + library_path)
if os.path.isabs(library_path):
if os.name != 'nt' and os.path.isabs(library_path):
if libtool:
args.append('-rpath')
args.append(library_path)
......@@ -341,10 +376,6 @@ class CCompiler(object):
# When we are not using Visual C++ nor clang-cl (i.e. we are using GCC)...
else:
libtool = utils.get_libtool_command(options)
if libtool:
args.extend(libtool)
args.append('--mode=execute')
args.extend([os.environ.get('DLLTOOL', 'dlltool.exe'), '--identify'])
proc = subprocess.Popen([self.compiler_cmd, '-print-search-dirs'],
stdout=subprocess.PIPE)
o, e = proc.communicate()
......@@ -400,13 +431,10 @@ class CCompiler(object):
tmp_fileobj.close()
os.unlink(tmp_filename)
else:
proc = subprocess.Popen(args + [implib],
stdout=subprocess.PIPE)
o, e = proc.communicate()
for line in o.decode('ascii').splitlines():
shlibs.append(line)
shlib = resolve_mingw_lib(implib, libtool)
if shlib is not None:
shlibs.append(shlib)
found = True
break
if not found:
not_resolved.append(lib)
if len(not_resolved) > 0:
......
......@@ -141,7 +141,7 @@
<tr>
<td class="${doc.deprecated_class(s)}">
<a href="#${formatter.make_anchor(s)}">${s.name}</a><!-- no space
-->(${formatter.format_in_parameters(s)})
-->(${formatter.format_signal_parameters(s)})
</td>
</tr>
</%doc:introspectable>
......
......@@ -13,10 +13,17 @@
in_params = formatter.get_in_parameters(m)
out_params = formatter.get_out_parameters(m)
%>
% if in_params:
% if in_params or isinstance(m, ast.Signal):
<dt>Parameters:</dt>
<dd>
<ul>
% if isinstance(m, ast.Signal):
<li>
<strong>${formatter.to_lower_camel_case(m.parent.name)}</strong>
(<code>${m.parent.gi_name}</code>)
&mdash; the emitting object
</li>
%endif
% for p in in_params:
<li>
<strong>${p.argname}</strong>
......
......@@ -9,7 +9,7 @@
id="${formatter.make_anchor(s)}">
${s.name}<!-- no space
--></span><!--
-->(${formatter.format_in_parameters(s)})
-->(${formatter.format_signal_parameters(s)})
</h3>
<dl>
<dt>Flags</dt>
......
......@@ -1274,6 +1274,12 @@ class DevDocsFormatterGjs(DocFormatterGjs):
def format_in_parameters(self, node):
return ', '.join(p.argname for p in self.get_in_parameters(node))
def format_signal_parameters(self, node):
emitter = self.to_lower_camel_case(node.parent.name)
in_params = self.format_in_parameters(node)
return '%s, %s' % (emitter, in_params) if in_params else emitter
LANGUAGES = {
"devdocs": {
......
......@@ -34,6 +34,10 @@ from .ccompiler import CCompiler
# we want to introspect, in order to call its get_type functions.
_PROGRAM_TEMPLATE = """/* This file is generated, do not edit */
#undef GLIB_VERSION_MIN_REQUIRED
#undef GLIB_VERSION_MAX_ALLOWED
#include <glib.h>
#include <string.h>
#include <stdlib.h>
......
......@@ -83,6 +83,7 @@ if cc.get_id() != 'msvc'
custom_c_args = cc.get_supported_arguments([
'-Wno-missing-field-initializers',
'-Wno-unused-parameter',
'-Wno-misleading-indentation',
])
endif
......
......@@ -1406,8 +1406,23 @@ initializer
;
initializer_list
: initializer
| initializer_list ',' initializer
: initializer_list_item
| initializer_list ',' initializer_list_item
;
initializer_list_item
: designator_list '=' initializer
| initializer
;
designator_list
: designator
| designator_list designator
;
designator
: '[' constant_expression ']'
| '.' identifier
;
/* A.2.3 Statements. */
......
......@@ -10,7 +10,7 @@ cache:
- _ccache/
variables:
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v18"
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/glib/fedora:v19"
COVERITY_IMAGE: "registry.gitlab.gnome.org/gnome/glib/coverity:v7"
DEBIAN_IMAGE: "registry.gitlab.gnome.org/gnome/glib/debian-stable:v13"
MINGW_IMAGE: "registry.gitlab.gnome.org/gnome/glib/mingw:v9"
......@@ -93,6 +93,7 @@ fedora-x86_64:
when: always
expire_in: 1 week
paths:
- "_build/docs/reference/"
- "_build/config.h"
- "_build/glib/glibconfig.h"
- "_build/meson-logs"
......@@ -212,7 +213,7 @@ valgrind:
stage: analysis
needs: []
variables:
MESON_TEST_TIMEOUT_MULTIPLIER: 10
MESON_TEST_TIMEOUT_MULTIPLIER: 15
script:
- meson ${MESON_COMMON_OPTIONS}
--werror
......@@ -477,8 +478,14 @@ coverage:
artifacts:
name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
expire_in: 1 week
expose_as: 'Coverage Report'
paths:
- _coverage/
- _coverage/coverage/index.html
- _coverage
reports:
coverage_report:
coverage_format: cobertura
path: _coverage/*-cobertura/cobertura-*.xml
before_script:
- bash .gitlab-ci/show-execution-environment.sh
script:
......@@ -562,6 +569,11 @@ dist-job:
only:
- tags
script:
# Ignore extra git security checks as we don't care in CI.
- git config --global --add safe.directory "${PWD}"
- git submodule update --init
- for m in $(git submodule foreach -q 'echo $path'); do git config --global --add safe.directory "${PWD}/${m}"; done
- meson subprojects download
- meson ${MESON_COMMON_OPTIONS} --buildtype release -Dgtk_doc=true -Dman=true _build
- cd _build
- ninja dist
......
......@@ -10,6 +10,14 @@ for path in _coverage/*.lcov; do
lcov --config-file .lcovrc -r "${path}" '*/_build/*' -o "$(pwd)/${path}"
# Remove any coverage from system files
lcov --config-file .lcovrc -e "${path}" "$(pwd)/*" -o "$(pwd)/${path}"
# Convert to cobertura format for gitlab integration
cobertura_base="${path/.lcov}-cobertura"
cobertura_xml="${cobertura_base}.xml"
lcov_cobertura "${path}" --output "${cobertura_xml}"
mkdir -p "${cobertura_base}"
cobertura-split-by-package.py "${cobertura_xml}" "${cobertura_base}"
rm -f "${cobertura_xml}"
done
genhtml \
......
......@@ -76,6 +76,9 @@ RUN dnf -y update \
RUN pip3 install meson==0.60.3
COPY install-gitlab-cobertura-tools.sh .
RUN ./install-gitlab-cobertura-tools.sh
# Set /etc/machine-id as it’s needed for some D-Bus tests
RUN systemd-machine-id-setup
......