This patch does two things:
1. making user profiles preferred over system profiles
2. putting sub dirs of one profile to the right place
- before this patch, they are appended to the end of load-path
- after this patch, they are inserted right after the profile
Example value of load-path before this patch:
/run/current-system/sw/share/emacs/site-lisp/
/etc/profiles/per-user/user/share/emacs/site-lisp/
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp/vc
...
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa/jinx-20230730.1200
/run/current-system/sw/share/emacs/site-lisp/elpa
/run/current-system/sw/share/emacs/site-lisp/elpa/repology-1.2.3
after this patch:
/etc/profiles/per-user/user/share/emacs/site-lisp
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa
/etc/profiles/per-user/user/share/emacs/site-lisp/elpa/jinx-20230730.1200
/run/current-system/sw/share/emacs/site-lisp
/run/current-system/sw/share/emacs/site-lisp/elpa
/run/current-system/sw/share/emacs/site-lisp/elpa/repology-1.2.3
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa
/nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/site-lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp
/nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp/vc
...
Upstream seems to publish and retain `.zip` more consistently than `.tar.gz`, which caused the previous expression to break. This modifies the odoo package and updater script to use the `zip` sources.
- Wine 8.12 changed the implementation of `macdrv_get_gpus_from_metal`,
causing the patch used by nixpkgs to break. This patch splits that
patch up to apply cleanly depending on the version;
- Silence an implicit pointer to integer conversion warning due to the
above patch (required by the Clang 16 stdenv bump);
- Add the PCSC framework on Darwin, which is required as of Wine 8.14.
Wine 8.14 changes the implementation of `macdrv_get_gpus_from_metal`,
causing the patch to no longer apply cleanly. Splitting the patch allows
only the parts that are still needed to apply cleanly dependin gon the
Wine version being built.
This contribution adds `odoo15` as a fixed version. To allow reusing the
existing test for Odoo, I made the package attribute configurable. To
reference the test for `odoo15` in `passthru` I added it to
`all-tests.nix`.