| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | | |
The newest flake8 has started to detect this.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
meson.build_root() is the root of the main project, better use
meson.current_build_dir() instead.
|
| | |
| | |
| | |
| | | |
powershell instead of cmd, win2016 instead of 2012r2
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Breaks vapigen and changes GListModel definition in Gio-2.0.gir
This reverts commit a9f45431684e6be3623e272e54d481e4c5d9423d.
|
| | |
| | |
| | |
| | |
| | | |
We are adding new API for 1.66, so bump the version number to the
development series.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This functionality is used in both PyGObject and GJS, and if not done
correctly can lead to architecture-specific bugs. It seems best to add
API in gobject-introspection for the correct way to do it.
See also: GNOME/gjs#309
|
| | |
| | |
| | |
| | | |
Required for adding new API to the 1.66 series.
|
| | |
| | |
| | |
| | |
| | | |
Checking the Python dependency doesn't ensure the header is present.
That needs to be checked separately.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GListModel is an interface for creating typed, list-like containers. The
data stored is GObject instances, but it's useful to be able to annotate
the actual type, for both documentation and code generation purposes.
The annotation should be optional, to maintain backward compatibility.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit b4c058bba4d95ae10e1e4238f9417fe954f97795.
See: #336
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit ffe3e435e0b7943a0872034223b5f6ea02258ffa.
See: #336
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When gobject-introspection-1.0 pkg-config is not found on the system,
Meson can fallback to configure g-i as subproject and needs a dependency
object to replace the pc file.
The dependency file needs to ensure that typelibs are created before
compiling any other gir and provide the girdir for files within build
directory. It also need to provide glib dependencies required to compile
girs.
|
| | |
| | |
| | |
| | | |
This reverts commit 42b7d634a9a7500dcc71651f71844148fc200be3.
|
| | |
| | |
| | |
| | |
| | |
| | | |
We need to special case the ListModel container type in the
documentation writer so that we don't fall back into array/list
automatic conversion in the code snippets.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GListModel is an interface for creating typed, list-like containers. The
data stored is GObject instances, but it's useful to be able to annotate
the actual type, for both documentation and code generation purposes.
Fixes: #328
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GTK4 allows adding widget-related actions to the documentation with the
newly defined syntax:
<class_name> '|' <action_name> ':'
This means g-ir-scanner needs to detect this new format, to avoid
emitting unnecessary warnings.
Currently, we don't do anything with the actions; in the future we might
want to add them to the documentation in the GIR, but for that we'd need
a new element.
See also: GNOME/gtk-doc!30
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit d01a387475e2665275a6cd6b0059bf91121b8300.
The nightly run time does not have Meson 0.54
|
| |/
|/|
| |
| |
| |
| | |
This reverts commit ec00edd941953626ac027810f747847f68a71000.
The nightly run time does not have Meson 0.54.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When gobject-introspection-1.0 pkg-config is not found on the system,
Meson can fallback to configure g-i as subproject and needs a dependency
object to replace the pc file.
The dependency file needs to ensure that typelibs are created before
compiling any other gir and provide the girdir for files within build
directory. It also need to provide glib dependencies required to compile
girs.
Bump Meson version to 0.54.0 to use meson.override_dependency().
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cElementTree was removed in Python 3.9 in favor of ElementTree,
which has used a fast, native implementation since Python 3.3.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1817649
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
| |
| |
| |
| | |
Comparing floats directly doesn't always work on all architectures.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
parameters
Virtual functions may use input/output parameters but this is not currently
well handled by gjs, so adding test cases to gobject-introspection to verify
that virtual functions correctly receive valid input values and can return
them.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually, we shouldn't really need this. We are building `native: false`
binaries so when we look up a `native: true` binary the override should
not apply. I've fixed this upstream in meson in
https://github.com/NixOS/nixpkgs/pull/86080, though some backwards
compatibility migration might be in order.
In the meantime, we can make `gi_cross_use_host_gi` prevent the
overrides from happening, which will achieve the desired behavior.
Finally, this allows us to use `find_program` in `scanner_command`,
unconditionally, letting the presence of the override dictate whether a
freshly-built or pre-built `g-ir-scanner` is used.
|
| |
|
| |
|
| |
|
|
|
|
| |
Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/320
|
| |
|
|
|
|
|
|
|
|
|
| |
There is no way that non-GCC/CLang compilers will pass this test because the
source position will never match the position that is in
tests/scanner/Regress-1.0-expected.gir.
Fix this the fast way: define a macro according to the compiler check and
update the corresponding source position
|
| |
|
| |
|
|
|
|
|
|
|
| |
Newer meson warns that option names can't start with "cross_", so
we have to prefix them:
"Option uses prefix "cross_", which is reserved for Meson. This will become an error in the future."
|
| |
|
|
|
|
|
| |
Let the people know how _giscanner.pyd handles looking up for dependent DLLs
on Python 3.8.x or later on Windows.
|
|
|
|
|
|
| |
We may get drive letters and paths either in upper or lower cases
in Windows, which are actually no different. Ignore the cases
in this case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.8.x and later changed the way how dependent DLLs can be found for a
given Python module that depends on the presence of external, non-system DLLs,
for more fine-grained DLLs searching and loading, as well as for security
purposes, which required the use of os.add_dll_directory().
Thus, the scripts in scanner/ must be updated such that:
-We are able to find and load the GObject and GLib DLLs, at least, on
initialization, via the use of 'pkg-config --variable bindir', as we already
depend on the GLib DLLs. Note that since the gobject-2.0.pc file does not
have a 'bindir' entry, we use gio-2.0.pc instead to discover the bindir of the
GObject and GLib DLLs. Likewise, we use the same technique for pkg-config
files that are dependent upon when using g-ir-scanner (or friends) on items
that are higher up in the stack.
-We are able to find any other DLLs (e.g. non-GNOME DLLs such as ZLib) that
are dependent but are not found in the path(s) given by 'pkg-config --variable
bindir' with the envvar GI_EXTRA_BASE_DLL_DIRS, as needed. Note that
GI_EXTRA_BASE_DLL_DIRS can be multiple paths, and that the results from
'pkg-config --variable bindir' takes precendence, in a LIFO manner.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids compilation erroring out on C4819 (Unicode handling issue in the
Visual Studio compiler), notably when running on Chinese, Japanese and Korean
(CJK) locales.
This also applies -utf-8 into the cflags passed into the various g-ir-scanner
command lines that are used to generate the *.gir files, where -utf-8 is
available, so that we don't get flooded with C4819 warnings during the
build, and therefore avoid potential mishaps, as C4819 is a real warning that
warngs us the code may be incorrectly built.
|
| |
|
|
|
|
|
|
|
|
|
| |
The XML elements are implicitly iterable in all Python versions including
at least 2.7 and 3.2+.
The .getchildren() method is deprecated since 2.7 and 3.2, removed in 3.9.
Fixes https://gitlab.gnome.org/GNOME/gobject-introspection/issues/325
|
|
|
|
|
|
|
|
|
| |
See here:
https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/64
Particularly, options are renamed to make it more readable and clear.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
|
|
| |
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
introspection-data and pkgconfig-sysroot-path options
With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner)
that are already installed in the host system will be used for building the source tree.
With the second option, g-ir-scanner will be instructed to use an executable
wrapper to run binaries it's producing, and g-ir-compiler will be run
through the same wrapper (host system's g-ir-compiler cannot be used because
it's producing architecture-specific output).
With the third option, giscanner will be instructed to use a special ldd
command instead of system's ldd (which does not work when the binary to inspect
is compiled for a different architecture).
With the fourth option, it is possible to disable building of introspection data
(.gir and .typelib files), which may be difficult or impossible in cross-compilation
environments, because of lack of emulation (or native hardware) for the target architecture
on which the target binaries can be run.
With the fifth option, paths returned by pkg-config are prefixed with the sysroot
path (which is the destination path for cross-compiled items on the system where
cross-compilation happens).
These options are useful when cross-compiling for a different target architecture.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
By default LD_LIBRARY_PATH is set to the list of target library paths;
this breaks down in cross-compilation environment, as we need to run a
native emulation wrapper rather than the target binary itself. This patch
allows exporting those paths to a different environment variable
which can be picked up and used by the wrapper.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
|
|
|
|
|
| |
This environment variable sets the location of sysroot directory in cross-compilation
environments; if the variable is not set, the prefix will be empty.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
|
|
|
|
|
| |
This is useful in cross-compile environments where system's ldd
command does not work on binaries built for a different architecture
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
|
|
|
|
|
|
|
| |
With this option, giscanner will use a wrapper executable to run
binaries it's producing, instead of running them directly. This
is useful when binaries are cross-compiled and cannot be run directly,
but they can be run using for example QEMU emulation.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|