summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Port to libsoup3Daniel Kolesa2021-10-1510-36/+317
|
* Update the translatable filesEmmanuele Bassi2021-10-152-7/+2
| | | | And the files to be skipped.
* build: Fix the pkg-config file reference in the GIR dataEmmanuele Bassi2021-10-151-1/+1
| | | | We renamed it to gweather4 from gweather-4.0.
* docs: Clean up the GWeatherLocation documentationEmmanuele Bassi2021-10-152-67/+78
| | | | | Use a format more suited to gi-docgen's output, and try to make it more human readable.
* build: Rename libgweather's pkg-config fileEmmanuele Bassi2021-10-152-4/+5
| | | | There's no point in using the full "N.0" version.
* build: Move pkgconfig file generation near the libraryEmmanuele Bassi2021-10-152-16/+16
| | | | | There's no point in having it at the bottom of the meson.build file in the top-level directory.
* docs: Begin a migration guide for libgweather-4Emmanuele Bassi2021-10-153-0/+17
|
* build: Install package data in a versioned directoryEmmanuele Bassi2021-10-141-2/+2
| | | | Otherwise we're going to overwrite libgweather-3 files.
* ci: Update the build environmentEmmanuele Bassi2021-10-131-4/+4
| | | | Drop gtk3-devel and add gdk-pixbuf2-devel.
* Remove GTK3 widgetsEmmanuele Bassi2021-10-1315-1585/+9
| | | | | | | | | The GTK3 widgets cannot exist in the same process as other versions of GTK, which means applications cannot port to GTK4 and link to libgweather. If we want to add GTK widgets back to libgweather we are going to do so in a separate shared library, with a separate namespace.
* docs: Update the README fileEmmanuele Bassi2021-10-131-15/+7
| | | | Update the links and various other details.
* ci: Drop the ABI checkEmmanuele Bassi2021-10-132-144/+0
| | | | | We know the ABI is going to change, but we're also going to keep the API stable after the next major release.
* Drop the "I know this is unstable" symbol checkEmmanuele Bassi2021-10-131-4/+0
| | | | | We are going to guarantee the API stability of this library going forward.
* docs: Remove all "Since" annotationsEmmanuele Bassi2021-10-133-28/+2
| | | | | | The major API has been reset, there's no need to have a "Since" annotation, as all symbols are available from this version until the next major API break.
* Bump up the API version of libgweatherEmmanuele Bassi2021-10-1312-64/+56
| | | | | | | | | | | | We're now at 4.0. The version bump requires some additional changes: - the project version is 3.90, while we are in a development cycle - the main gettext domain has been changed to libgweather-4.0 - the gettext domain for the locations has been changed to libgweather-4.0-locations - the settings schemas have been changed to org.gnome.GWeather4 - the soname of the shared library has been changed to match the versioning scheme used by GLib and GTK
* ci: Add (fallible) static analysis and asan jobsEmmanuele Bassi2021-10-131-0/+74
| | | | | | | | | Libgweather is a C library, and it's reading and parsing files, and poking at web services: we should really be doing some minimum safety checks that our code isn't just an exploit waiting to happen. For the time being, both jobs are marked to allow failure, with the explicit intent to lead us towards fixing the issues they find.
* Clean up gweather_location_get_world()Emmanuele Bassi2021-10-131-13/+14
| | | | | | | - Transfer the GMappedFile to the world database only on success - Move declarations inside the load block - Add explicit pointer comparisons - Match the definition with the declaration, by adding `void`
* Use G_DEFINE_BOXED_TYPE for GWeatherTimezoneEmmanuele Bassi2021-10-131-14/+1
| | | | Instead of writing the get_type() function ourselves.
* Use G_DEFINE_BOXED_TYPE for GWeatherLocationEmmanuele Bassi2021-10-131-16/+3
| | | | Instead of writing the get_type() function ourselves.
* docs: Remove gtk-doc sectionsEmmanuele Bassi2021-10-137-34/+20
| | | | We're using gi-docgen, and we rely on types.
* ci: Store introspection and vapi files as artefactsEmmanuele Bassi2021-10-131-0/+2
| | | | This way it's going to be slightly easier to check for issues.
* ci: Add JUnit reportEmmanuele Bassi2021-10-131-0/+2
| | | | Tell GitLab to use the JUnit report provided by Meson.
* ci: Restructure the pipelineEmmanuele Bassi2021-10-132-7/+161
| | | | | | | - Add base recipes to be reused for different jobs - Split the ABI check into its own stage - Build the API reference in its own stage - Publish the API reference with GitLab Pages
* build: Build the documentation by defaultEmmanuele Bassi2021-10-131-1/+1
| | | | | Now that it's fast and does not have a lot of extra dependencies, we can build the libgweather API reference by default.
* build: Add option to disable introspectionEmmanuele Bassi2021-10-134-28/+39
| | | | | | | | | When building libgweather as a subproject or as a Flatpak module we may want to disable generating the introspection data if we know we're only ever going to consume the C API. Disabling introspection will disable the documentation and the VAPI file generation as a side effect.
* Use gi-docgen to generate the API referenceEmmanuele Bassi2021-10-139-303/+100
| | | | | | Gtk-doc is currently unmaintained, and fairly slow. Gi-docgen uses the introspection data to generate the documentation.
* Tweak the enum types header templateEmmanuele Bassi2021-10-131-0/+2
| | | | | Don't bunch up everything together: we can spare a newline between enumeration types.
* Use newly added deprecation macroEmmanuele Bassi2021-10-131-1/+1
| | | | Instead of hand-coding it ourselves.
* Add proper deprecation macrosEmmanuele Bassi2021-10-131-0/+15
| | | | As well as a way to disable them.
* docs: Move readmes in data under docsEmmanuele Bassi2021-10-134-142/+139
| | | | They are very non-descriptive as "read me" files.
* Drop the AUTHORS fileEmmanuele Bassi2021-10-131-4/+0
| | | | The authors of libgweather are included in the Git commit log.
* build: Move variant location builder to build-auxEmmanuele Bassi2021-10-133-3/+9
| | | | | And make sure to use the path of the script returned by `find_program()`, instead of using `files()`.
* Add a build-aux directory for ancillary scriptsEmmanuele Bassi2021-10-133-11/+16
|
* Move tests and tools out of the wayEmmanuele Bassi2021-10-139-77/+82
| | | | | | We should write tests and tools that look like tests in the same way we'd write code that depends on the library, instead of assuming that everything works out because it sits in the same directory.
* Use explicit symbol annotation and visibilityEmmanuele Bassi2021-10-139-30/+168
| | | | | | | | | | | | | | All symbols should be hidden by default, and public symbols should be explicitly annotated. Once we commit to a stable API/ABI, we will be able to use versioned macros to mark symbols for deprecation, and get compiler warnings that can be toggled on and off by consumers of our API. The current symbol visibility map includes two private symbols used by our tests; to avoid this leakage, we can build libgweather as a static library, and then use the static library for our tests and as the base of our public shared library.
* Rename HACKING to CONTRIBUTINGEmmanuele Bassi2021-10-131-0/+0
| | | | | This way, GitLab will pick up the file and link to it in the project page.
* docs: Update the contribution guideEmmanuele Bassi2021-10-131-25/+217
| | | | | | Remove dead/outdated links, and make it more newcomer friendly, by clearly stating the expectations on both the contributor and maintainer side.
* build: Add license field to project()Emmanuele Bassi2021-10-131-0/+1
| | | | It's advisory, and currently unused, but it's handy to have.
* build: Drop `HAVE_CONFIG_H`Emmanuele Bassi2021-10-131-1/+0
| | | | | | We're not using Autotools, and people should not copy-paste random files from libgweather without the configuration header. That's why we have a library.
* Drop config.h inclusion from gweather-private.hEmmanuele Bassi2021-10-131-2/+0
| | | | All source files include should "config.h" themselves.
* Clean up source files preambleEmmanuele Bassi2021-10-1316-283/+98
| | | | | | - Use SPDX tags for copyright and license - Include "config.h" unconditionally, we're not using Autotools - Include the local headers first
* Clean up the private headerEmmanuele Bassi2021-10-131-79/+112
| | | | | | | | - Drop the GLib C alias types, and use the proper types - Use consistent whitespace - Do not align the functions; private headers are touched more often than public ones, and realigning the whole header every time is just a waste of time
* Clean up the header filesEmmanuele Bassi2021-10-1311-418/+310
| | | | | | - Use a consistent coding style - Use #pragma once for the inclusion guard - Use SPDX license and copyright fields
* Add myself as a maintainer to the DOAPEmmanuele Bassi2021-10-131-3/+7
| | | | And drop the "not fully maintained" comment.
* Drop unnecessary condition from index checkEmmanuele Bassi2021-10-131-1/+1
| | | | | We only use unsigned integers for indices, which means the "greater than zero" check is redundant—and the compiler will tell us that.
* Make enum type registration thread safeEmmanuele Bassi2021-10-131-10/+19
| | | | | Change the template to use g_once_init_enter/leave pairs, like everyone else does.
* build: Tweak the default warningsEmmanuele Bassi2021-10-131-0/+16
| | | | | We want the default warnings from Meson for warning_level=2, but we also want to inject our own compiler arguments.
* build: Default to C99 with GNU extensionsEmmanuele Bassi2021-10-131-0/+1
| | | | It's 2021, there's no point in sticking with a C89 baseline.
* build: Show debug and optimization levels in the summaryEmmanuele Bassi2021-10-131-0/+2
|
* build: Add default optionsEmmanuele Bassi2021-10-131-0/+4
| | | | Enable warnings, and produce debug-optimized builds by default.