7 Commits

Author SHA1 Message Date
NAHO c8d4dabc43 pkgs: remove optional builtins prefixes from prelude functions
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --type file \
      . \
      pkgs \
      --exec-batch sed --in-place --regexp-extended "
        s/\<builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\>/\1/g
      "

    nix fmt
2025-10-04 19:02:37 +02:00
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
Silvan Mosberger 4f0dadbf38 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 b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +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 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 98e84e79a9 makeHardcodeGsettingsPatch: Add simple tests 2022-12-19 17:38:56 +01:00