According to the Unicode Standard, you should use U+2019 RIGHT SINGLE
QUOTATION MARK for apostrophes [1]. Before this change, some of the text
in this repo would use U+2018 LEFT SINGLE QUOTATION MARKs instead.
[1]: https://www.unicode.org/versions/Unicode15.0.0/ch06.pdf#G12411
The package is needed by tasty on a subset of architectures. Quoting
upstream `.cabal` file:
if(!arch(x86_64) && !arch(aarch64))
build-depends:
unbounded-delays >= 0.1
This fails the build on i686 (a wine depend via shellcheck):
Setup: Encountered missing or private dependencies:
unbounded-delays >=0.1
The change pulls unbounded-delays for mentioned targets.
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
Deprecate haskell.lib{,.compose}.generateOptparseApplicativeCompletion*
in favor of the newly added
haskell.packages.*.generateOptparseApplicativeCompletions (plural!)
which takes into account whether we are cross-compiling or not. If we
are, generating completions is disabled, since we can't execute software
built for a different platform.
The move is necessary, so we can receive the /same/ stdenv as the
package we are overriding in order to accurately check whether we can
execute produced binaries.
Resolves#174040.
Resolves#49648.
This checks that ghc and its boot libraries have the same ABI at runtime as at compile time.
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
Unbreak libjwt-typed. Succesfully built using:
env NIXPKGS_ALLOW_BROKEN=1 nix-build --no-out-link -A haskellPackages.libjwt-typed
This was accomplished by removing dependency
bounds, skipping tests, and adding the libjwt
librarySystemDepends.
Removed `broken` status from libjwt-typed.
I have not tested using what was built in the
nix-build command above in a local project.
Required by the assistant at runtime:
```
$ nix-shell --pure -p git git-annex
$ git annex assistant
git-annex: The lsof command is needed for watch mode to be safe, and is not in PATH.
To override lsof checks to ensure that files are not open for writing
when added to the annex, you can use --force
Be warned: This can corrupt data in the annex, and make fsck complain.
```
* Newly added are bitwuzla and cvc5 (unpackaged at the moment)
* Refactor sed expression disabling solves we don't provide in the test
suite.
* Stop conditionally disabling z3 solver on aarch64, seems there is no
reason for it anymore.
We already had a xmonad-nix.patch for XMonad 0.17, so it's just a matter
of using it. The old patch for 0.16 can be dropped as well, since we no
longer ship that version.
I've tried to be conservative and only clean up things that broke eval
which in most cases had to do with uses of versioned packages that have
become the default in Stackage Nightly now. There's probably still
potential for cleaning up some additional workarounds and likely there
are still a lot of new workarounds to be found once we know about the
build failures.
Also note that clean eval only means that nix-env doesn't fail.
Notes:
* HLS now lacks the stylish-haskell and britanny plugins by default,
since they don't support GHC 9.0.2. We'll need to re-enable them
for GHC < 9.0.2
* A lot of uses of hspec 2.9.* can probably be removed, as 2.8.* which
is used in Stackage Nightly is new enough for most packages.
Expose from haskell.packages.ghc921 (which is the only GHC version that
can build it easily atm) and additionally install man page, language
guide and code examples.
retrie 1.2.0.0 adds support for 9.2, but drops it for all prior
versions. haskell.packages.ghc921.retrie stays at 1.2.0.0.
haskell.packages.ghc921.ghc-exactprint: 0.6.4 -> 1.3.0
Move everything into a single overrideCabal and express conditionality
using optionalAttrs. This should make it easier to add
more (un)conditional overrides in the future.
PR was merged after the switch to haskell.lib.compose by default, but
originally created before that day, so the argument order used was
completely wrong, but CI didn't show it, because its state was stale.
The compile time check for close_range support is broken fundamentally
at the moment (linux-headers is always 5.14, so it'll always assume
close_range is available, upstream is aware of this issue). As a
workaround, we disable the test suite if the kernel on the builder is
too old, allowing the package to still be built.
The aliases, like haskell-language-server-8.10 do not get discovered by the hls-wrapper.
Only `haskell-language-server` and e.g. `haskell-languag-server-8.10.7` work.
I got that wrong when introducing those aliases.
Some hash implementations in hashes are platform-specific (32 vs 64
bit), but only implemented in terms of “is i686 or x86_64?”. This it'll
always fail on other platforms (like aarch64). Consequently it makes no
sense to build and execute the test suite there, even if some hash
implementations are platform independent and could be tested.
webkitgtk24x-gtk2 has been removed, but webkit doesn't compile anymore
these days, so we can save us maintaining this override. The “correct”
override would be webkitgtk (webkit is an alias form webkitgtk atm,
maybe we should introduce a libNixName thing in cabal2nix for this?)
if webkit compiled with modern dependencies…
websnap actually depends on the haskell webkit package (which is
broken), so this override introducing a dependency on a removed package
is actually incorrect and can be removed.
Monomer's tests want a display, which currently isn't provided in the Nix sandbox.
I also reordered the other packages that are in the same boat so they're
all in one place.
ats-format has a custom Setup.hs which does the following using cli-setup:
* Add ~/.local/share/man to $MANPATH by editing shell configurations in $HOME.
* Install a man page into ~/.local/share
* Install a shell completion by editing shell configurations in $HOME.
We had a workaround to keep this from failing the build in the nix sandbox, but
this seemingly broke on darwin. To fix this once and forall, we force the use
of only `defaultMain` in Setup.hs and install the man page manually.
Additionally we generate completions and remove unnecessary extra references
from the closure.
Fix instances of tool dependencies coming from `self` or `pkgs`
instead of `self.buildHaskellPackages` or `pkgs.buildPackages`
respectively. This makes sure cross-evaluation and -compilation will
work although their may still be more kinks to work out (or cases I
missed). This change was mostly created by searching for `[tTool]` and
`\${` in the respective files.
Note that this has intentionally not been for test tool dependencies:
Like in `stdenv.mkDerivation` we need to view tests as being executed
on the *host platform* which is why we can't run tests while cross
compiling anyways. In practice this is not an important distinction,
though: `pkgs.buildPackages` and `pkgs` are almost identical in the
native case.
Resolves#127232.
These attribute names were converted into aliases in the following
changes:
* 62733b37b4
* https://github.com/NixOS/nixpkgs/pull/104776
cabal2nix-unstable has been updated to be aware of these changes in
7a9080d774, so these aliases should no
longer cause issues when evaluating with `allowAliases = false`.
random 1.2.0 has a new test suite with a lot of dependencies. Among
other packages it depends on doctest which depends on syb which depends
on tasty which depends on optparse-applicative which depends on
QuickCheck which depends on -- you guessed it -- random!
The cycle could be broken at any point of course, I've disabled the
tests on random here because it has seen the change that causes all
of this. However, we may also want to consider doing this for
optparse-applicative instead, since random seems like a more critical
package to run the tests for possibly? Not sure, looking for feedback.
All of these packages use x86 intrinsics-related headers and don't
compile on non x86 platforms as a result.
These overrides should be refactored into the yaml configuration at some
point.
Resolves#122014.
Move necessary overrides into configuration-nix.nix, so there's no
discrepancy between stutter and haskellPackages.stutter.
However the build of stutter is still broken its dependency snipcheck
doesn't build with the pandoc version we have.
Requires a jailbreak currently because the hackage version bounds are
somewhat outdated. Also regenerate the package set, so the next hydra
evaluation picks up on this.
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.