In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
The XOAUTH2 support was added in 47eda8e, overriding `SASL_PATH` and
dropping all default SASL mechanisms from `cyrus_sasl`. The option was
disabled by default in fe02c5e, but users manually overriding isync to
enable `withCyrusSaslXoauth2` still face this issue.
This commit sets `SASL_PATH` to a combination of `cyrus_sasl` and
`cyrus-sasl-xoauth2`, as suggested in #235959.
The XOAUTH2 support was recently added in 47eda8e00a but apparently it
causes regressions when using other SASL methods.
An example error message:
```
IMAP command 'AUTHENTICATE XOAUTH2 SOMEHASH=' returned an error: NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)
```
The cause seems to be that overriding `SASL_PATH` drops all available
SASL mechanisms from `cyrus_sasl`, so only `XOAUTH2` (and `EXTERNAL`)
will be left. See [0] and the following comments for more details.
We'd need to set `SASL_PATH` to a combination/merge of
`${cyrus_sasl}/lib/sasl2` and `${cyrus-sasl-xoauth2}/lib/sasl2`.
Anyway, it seems best to disable the XOAUTH2 support by default due to
the two other concerns mentioned in the comment.
[0]: https://github.com/NixOS/nixpkgs/pull/235148#issuecomment-1575432154
Reported-by: Dominik Schrempf <dominik.schrempf@gmail.com>
Important changes:
- The 'isync' compatibility wrapper was removed.
- The Master/Slave configuration keywords where deprecated and should be
replaced with Far/Near. All users should update their configuration
file accordingly. It's a trivial change and the old Master/Slave
keywords will still work for now but result in the following message:
Notice: Master/Slave are deprecated; use Far/Near instead.
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
@the-kenny did a good job in the past and is set as maintainer in many package,
however since 2017-2018 he stopped contributing. To create less confusion
in pull requests when people try to request his feedback, I removed him as
maintainer from all packages.
There’s nothing wrong with unstable packages when they are maintained
and frequently updated. However, when they become out-of-date, as many
do, it is usually best to just get rid of them as the stable version
is become newer than the unstable version. This removes any packages
called "unstable" that have not been updated in over 1 year. Affected
packages include:
- isyncUnstable
- sxhkd-unstable
- dosbox-unstable
Revert "treewide: remove unstable packages"
This reverts commit df01b0b37a04624cfe6f8d2ccb42b99289841b68.
Since years I'm not maintaining anything of the list below other
than some updates when I needed them for some reason. Other people
is doing that maintenance on my behalf so I better take me out but
for very few packages. Finally!
The extra dashes are removed from the version number because Nix treats only the
first component as the version, i.e. `2015-11-08` is version `2015` with two
tags `-11` and `-08`.
Many (less easily automatically converted) old-style strings
remain.
Where there was any possible ambiguity about the exact version or
variant intended, nothing was changed. IANAL, nor a search robot.
Use `with stdenv.lib` wherever it makes sense.