8 Commits

Author SHA1 Message Date
Jan Tojnar 5309164a96 makeHardcodeGsettingsPatch: Fix schemaExistsFunction w/o stdbool.h
If project uses C and does not include `stdbool.h`,
it will not have available lowercase booleans.
However, since this tool targets GLib programs,
we can rely on uppercase constants defined by GLib.
2025-05-17 19:55:04 +02:00
Jan Tojnar e50f76c7d0 makeHardcodeGsettingsPatch: Add support for schemaExistsFunction
evolution-ews introduced a check for optional schemas, which would skip our hardcoded code paths.
https://gitlab.gnome.org/GNOME/evolution-ews/-/commit/a0c514bd345c67fe0fd2ed6ef48a25649b1f4d8e

Let’s update the semantic patch to also replace the invocations of specified `schemaExistsFunction` for known schemas with `true`.
2025-05-08 18:29:49 +02:00
Pol Dellaiera 2974863439 build-support/make-hardcode-gsettings-patch: replace git with gitMinimal 2025-01-09 21:02:44 +01:00
Silvan Mosberger 667d42c00d treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \
      --argstr baseRev 57b193d8dd
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:27:17 +01:00
Jan Tojnar bc41b2db3d makeHardcodeGsettingsPatch: Support applying patches
This is useful for replacing code that cannot be easily handled by the generator,
such as the tentative settings constructor in e-d-s.
2023-11-21 08:42:47 +01:00
Jan Tojnar 6f695f3d92 makeHardcodeGsettingsPatch: Improve docs
- Describe arguments and usage in more detail.
- Use finalAttrs in example.
- Use schema id, not path.
- Schema id is not what is replaced.
2023-11-21 08:42:47 +01:00
Jan Tojnar 4346dee424 makeHardcodeGsettingsPatch: Support other constructors
In addition to `g_settings_new`, there are three other GSettings constructors:
https://docs.gtk.org/gio/ctor.Settings.new.html
2022-12-19 17:38:57 +01:00
Jan Tojnar 35d24b51f5 makeHardcodeGsettingsPatch: Rename from glib.mkHardcodeGsettingsPatch
glib expression is messy enough as is.

Also rename the `glib-schema-to-var` argument to `schemaIdToVariableMapping` to better match Nixpkgs coding style.
2022-12-19 17:17:32 +01:00