summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add support for element-type to GListModelissue-328Emmanuele Bassi2020-04-2815-10/+284
| | | | | | | | | | 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. Fixes: #328
* Revert "Add support for element-type to GListModel"Rico Tzschichholz2020-04-2814-278/+7
| | | | | | Breaks vapigen and changes GListModel definition in Gio-2.0.gir This reverts commit a9f45431684e6be3623e272e54d481e4c5d9423d.
* build: Bump version to 1.65Philip Chimento2020-04-261-1/+1
| | | | | We are adding new API for 1.66, so bump the version number to the development series.
* girepository: Add GITypeInfo utility functions for storing values in pointersPhilip Chimento2020-04-262-0/+182
| | | | | | | | 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
* girepository: Add 1.66 version macroPhilip Chimento2020-04-261-0/+6
| | | | Required for adding new API to the 1.66 series.
* build: Check Python.h and fail early if not presentPhilip Chimento2020-04-261-0/+3
| | | | | Checking the Python dependency doesn't ensure the header is present. That needs to be checked separately.
* Add support for element-type to GListModelEmmanuele Bassi2020-04-2614-7/+278
| | | | | | | | 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.
* Revert "Add element-type support to GListModel"Emmanuele Bassi2020-04-2610-200/+1
| | | | | | This reverts commit b4c058bba4d95ae10e1e4238f9417fe954f97795. See: #336
* Revert "Generate appropriate docs for ListModel with element-type"Emmanuele Bassi2020-04-263-17/+9
| | | | | | This reverts commit ffe3e435e0b7943a0872034223b5f6ea02258ffa. See: #336
* Meson: Override gobject-introspection-1.0 dependencyXavier Claessens2020-04-241-0/+18
| | | | | | | | | | | 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.
* Revert "Revert "Meson: Fix build when glib is built as subproject""Xavier Claessens2020-04-242-1/+4
| | | | This reverts commit 42b7d634a9a7500dcc71651f71844148fc200be3.
* Generate appropriate docs for ListModel with element-typeEmmanuele Bassi2020-04-243-9/+17
| | | | | | 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.
* Add element-type support to GListModelEmmanuele Bassi2020-04-2410-1/+200
| | | | | | | | 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
* Support the gtk-doc action syntaxEmmanuele Bassi2020-04-242-7/+189
| | | | | | | | | | | | | | | | 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
* Revert "Meson: Override gobject-introspection-1.0 dependency"Emmanuele Bassi2020-04-248-22/+9
| | | | | | This reverts commit d01a387475e2665275a6cd6b0059bf91121b8300. The nightly run time does not have Meson 0.54
* Revert "Meson: Fix build when glib is built as subproject"Emmanuele Bassi2020-04-242-4/+1
| | | | | | This reverts commit ec00edd941953626ac027810f747847f68a71000. The nightly run time does not have Meson 0.54.
* Meson: Override gobject-introspection-1.0 dependencyXavier Claessens2020-04-238-9/+22
| | | | | | | | | | | | | 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().
* Meson: Fix build when glib is built as subprojectXavier Claessens2020-04-222-1/+4
|
* Update NEWSChristoph Reiter2020-04-051-0/+7
|
* Replace calls to deprecated xml.etree.cElementTreeStephen Gallagher2020-03-262-2/+2
| | | | | | | | | 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>
* gimarshallingtests: Use g_assert_cmpfloat_with_epsilonIain Lane2020-03-181-6/+6
| | | | Comparing floats directly doesn't always work on all architectures.
* gimarshallingtests: Add marshalling tests for virtual functions with inout ↵Marco Trevisan (Treviño)2020-03-162-0/+96
| | | | | | | | | 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.
* version bumpChristoph Reiter2020-03-071-1/+1
|
* release1.64.0Christoph Reiter2020-03-072-1/+9
|
* Update glib annotations to 2.64.0Rico Tzschichholz2020-02-282-15/+45
|
* HACKING: Document how to update glib GIRBastien Nocera2020-02-201-0/+16
| | | | Closes: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/320
* Update glib annotationsRico Tzschichholz2020-02-172-63/+56
|
* Fix regress scanner testsChun-wei Fan2020-02-062-5/+5
| | | | | | | | | 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
* version bumpChristoph Reiter2020-01-171-1/+1
|
* release1.63.2Christoph Reiter2020-01-171-0/+12
|
* meson: rename cross options to not start with cross_Christoph Reiter2020-01-172-14/+14
| | | | | | | 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."
* Update glib annotationsChristoph Reiter2020-01-172-52/+55
|
* MSVC.README.rst: Add note about Python 3.8.x or laterChun-wei Fan2020-01-161-0/+16
| | | | | Let the people know how _giscanner.pyd handles looking up for dependent DLLs on Python 3.8.x or later on Windows.
* test_scanner.py: Fix path tests on WindowsChun-wei Fan2020-01-161-2/+3
| | | | | | 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.
* Windows: Fix building and running on Python 3.8+Chun-wei Fan2020-01-165-1/+57
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Visual Studio builds: Use -utf-8 where availableChun-wei Fan2020-01-155-5/+28
| | | | | | | | | | | | 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.
* Update glib annotationsRico Tzschichholz2020-01-073-39/+221
|
* Drop deprecated xml.etree.ElementTree.Element.getchildren() callsMiro Hrončok2020-01-061-6/+6
| | | | | | | | | 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
* meson: address review commentsAlexander Kanavin2019-12-133-31/+33
| | | | | | | | | 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>
* meson.build: disable tests when cross-compilingAlexander Kanavin2019-12-131-1/+3
| | | | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
* meson_options.txt: add host-gi, gi-cross-wrapper, gi-ldd-wrapper, ↵Alexander Kanavin2019-12-133-18/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* giscanner: add a --lib-dirs-envvar optionAlexander Kanavin2019-12-133-3/+7
| | | | | | | | | | 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>
* Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR environment variableAlexander Kanavin2019-12-131-4/+4
| | | | | | | 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>
* giscanner: add a --use-ldd-wrapper optionAlexander Kanavin2019-12-132-1/+6
| | | | | | | 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>
* giscanner: add --use-binary-wrapper optionAlexander Kanavin2019-12-131-0/+14
| | | | | | | | | 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>
* Fix a bison deprecation warning for using %error-verboseChristoph Reiter2019-12-111-1/+1
| | | | warning: deprecated directive, use ‘%define parse.error verbose’
* Fix build reproducibilityJoshua Watt2019-12-112-5/+0
| | | | | | | | | | | | ba744068 ("Make meson.override_find_program working on more complex use cases") made the build no longer reproducible by encoding a build system path into the output. This shouldn't be necessary anyway, since it should be possible to add new paths to search for gir files by setting the XDG_DATA_DIR environment variable. Closes #318 Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
* Add GMemoryMonitor to glib annotationsBastien Nocera2019-12-111-0/+72
|
* version bumpChristoph Reiter2019-11-241-1/+1
|
* release1.63.1Christoph Reiter2019-11-241-0/+20
|