Commit Graph

239 Commits

Author SHA1 Message Date
Anton-Latukha 6c071d36a1
form 0.11.1 2020-12-09 18:45:44 +02:00
Anton Latukha b21bb48bf5
hnix.cabal: version: increment to major release 0.11.0 (#751) 2020-11-02 19:13:31 +02:00
Anton-Latukha 410c325b18 cabal, CHANGELOG: 0.10.1 release, unifying the changelog
* "Misc" use was disputed, moving back to use of the "Additional" category.

* Using a (link) pattern for URLs, reasons being:
  * Including the markup into the outlines or hyperlinks considered a
    bad practice and should be used carefully.
  * The human cause:
    The reason for the changelog is so people read through it and get the info.
    Hyperlinks make text colored. Studies of readability have shown that
    people perceive the information of a brightly colored text
   much more poorly than the text of regular coloring.
    And delivering the meaning is what changelog text is for, so the
    informative text should be regularly colored.
  * The technical cause -
    the Hackage does not parse the markup inside the hyperlinks:
    https://hackage.haskell.org/package/hnix-0.10.0/changelog
    Probably because of the reason *1, but Hackage reason alone is enough.
  * Since people perceive and think about the read information mostly linearly
    and in the FIFO manner, `(link)` is put before information text, so links
    are placed in the same space and look more uniform upon reading. And upon
    reading the "link" context gets pushed first from the FIFO mind buffer and
    the further understanding the text the person is not distracted by
    sudden reading (taking-in) of the colored word "link" in the end of the
    semantically challenging text that is required to be understood.

* Dependency requirements of last major versions made literal.

* Link to `(diff)` made more obvious. While professionals tend to look for the
link to the full diff, diff under version number is ambiguous to where the
version number link leads, it can be for example: a GitHub release (where
different forms of packages are provided), diff, commit listing (as it was before
the current change), official forum post, official news... etc.

* Made `(diff)` link to point directly towards the diff.
2020-09-13 17:57:47 +03:00
Anton Latukha 83c5cea9a4
Options/Parser: add '--long-version' that adds debug information (#712)
Option for debugging and bugreporting purposes.

Current output:
```
Version: 0.9.1
Commit: 2dc211314e
  date: Sat Sep 12 13:31:59 2020 +0300
  branch: 2020-09-12-add-GitRev-to-version
```

Also date and branch is to direct contributors attention to updating (or having
in mind) that.

M  hnix.cabal
M  src/Nix/Options/Parser.hs
2020-09-13 13:51:14 +03:00
Anton Latukha 5227a2d27f
CHANGELOG: 0.10.0 (#713)
* Prepare release 0.9.2

* CHANGELOG: m upd to 0.9.{2,1}

* Update changelog and version

* CHANGELOG: m upd: unification of structure, forming 0.10.1

Breaking changes into "Breaking" section.

Miscellaneous changes into "Misc" section.

Co-authored-by: Simon Jakobi <simon.jakobi@gmail.com>
2020-09-12 19:56:56 +03:00
Anton-Latukha 3ab3fd0801 hnix.cabal: bump megaparsec bound to 9.1
Changelog: https://hackage.haskell.org/package/megaparsec/changelog
2020-09-11 21:01:30 +03:00
Simon Jakobi 93ecf531c4 Remove overlapping [From,To]JSON instances for NExpr
…for compatibility with aeson-1.5.3.

Closes #690.
2020-08-19 15:22:33 -07:00
Anton-Latukha 15ae0356be cabal: aeson < 1.5.3
1.5.3 introduced instances for `strict` & `data-fix`, some intstances overlap.

Trying to remove/sync instances results in:

```text
src/Nix/Expr/Types.hs:1:1: error:
    Exception when trying to run compile-time code:
      Constructor ‘DynamicKey‘ must only use its last 1 type variable(s) within
      the last 1 argument(s) of a data type
```
2020-08-17 13:05:46 +03:00
Simon Jakobi adc2f36a74
Allow optparse-applicative 0.16 (#697)
Changelog:
http://hackage.haskell.org/package/optparse-applicative-0.16.0.0/changelog

Stackage:
https://github.com/commercialhaskell/stackage/issues/5597
2020-08-16 22:00:56 +02:00
Simon Jakobi 1a2d627a58 Use prettyprinter-1.7.0
Changelog:
http://hackage.haskell.org/package/prettyprinter-1.7.0/changelog

hnix is likely to be affected by this change:

> Use floor instead of round to compute ribbon width.

…due to its use of custom `LayoutOptions`.
2020-08-07 12:21:12 +03:00
Simon Jakobi 695a47fac3
Remove unnecessary extra-source-files (#672)
More files than necessary were included from the nix submodule.

This also adds some missing eval-compare test files. The testsuite
now always runs the same number of tests, no matter the
`buildFromSdist` setting.

This also sorts the files from the submodule, so they are easier to
navigate.
2020-07-27 13:09:45 +03:00
Simon Jakobi 54030284fa Update to data-fix-0.3
Changelog: http://hackage.haskell.org/package/data-fix-0.3.0/changelog

Context: https://github.com/commercialhaskell/stackage/issues/5535
2020-07-24 12:35:59 +03:00
Anton-Latukha e3d4254258 cabal: clean-up bound copies 2020-07-16 21:21:11 +03:00
Anton-Latukha 5f63b2aa61 cabal: library: m cosmetics 2020-07-16 21:21:11 +03:00
Richard Marko 0b61040bee hnix.cabal: version 0.9.1 2020-07-13 19:20:31 +03:00
Richard Marko 710bc84309 Support repline 0.4
Closes #651.

`haskeline` override needs `dontCheck` as it tries to run an executable.

Tested build and repl itself.
2020-07-02 14:04:13 +02:00
Simon Jakobi 220209c090
Use neat-interpolation instead of interpolate (#635)
In addition to `interpolate`, this also removes the following
transitive dependencies:

 - `haskell-src-exts`
 - `haskell-src-meta`
 - `safe`
 - `th-expand-syns`
 - `th-lift`
 - `th-lift-instances`
 - `th-orphans`
 - `th-reify-many`

Since `neat-interpolation`'s `text` quasiquoter trims more whitespace
than `interpolate`'s `i`, the expected output of some tests for
`unsafeGetAttrPos` had to be updated.

This also improves the test failure output of the `constantEqual`
helper.

Fixes #634.
2020-06-27 10:43:50 +02:00
Simon Jakobi 0fa311301c
Remove some more unused dependencies (#632)
* Remove library dependencies on contravariant and semigroups
* Remove testsuite dependencies on generic-random and tasty-quickcheck

Context: #588
2020-06-19 00:26:40 +02:00
Anton-Latukha bfe9d11c24
hnix.cabal: version 0.9.0
M  hnix.cabal
2020-06-15 03:44:49 +03:00
Anton-Latukha 9421b54153
hnix.cabal: set {lens-family{,-core},template-haskell} bounds
Set current upper bound of lenses

`template-haskell` bounds derived from the git commit date and current bound,
then lowered low bound to include GHC 8.4

M  hnix.cabal

M  hnix.cabal
2020-06-15 03:44:10 +03:00
Anton-Latukha 4846f87699
hnix.cabal: extra-source-files: add CHANGELOG.md
M  hnix.cabal
2020-06-15 02:25:53 +03:00
Richard Marko 24c74f26c3 hnix.cabal: add tests/files to extra-source-files
Better add all of them so we don't accidentally hit
this again when we add tests using other than findFile.nix.

Closes #612.
2020-06-03 14:41:30 +03:00
Simon Jakobi 9c6003ae8b
Use haskeline-0.8 (#540)
The `MonadException` class was removed in favor of `MonadCatch`, so we
can remove its instances, enabling us to remove the library dependency
on haskeline.

To simplify dependency resolution with GHC < 8.10, this also disables
the executable in that configuration.
2020-05-30 03:32:20 +02:00
Simon Jakobi 707060260a
Clean up hashing-related dependencies (#597)
Background: https://github.com/haskell-nix/hnix/issues/588#issuecomment-634692400
2020-05-30 02:28:50 +02:00
John Wiegley 05aaec56b5
Bump version to 0.8.0 2020-05-29 11:26:16 -07:00
Simon Jakobi 726dc96b05
Allow http-client-0.7 (#596)
Changelog:

http://hackage.haskell.org/package/http-client-0.7.0/changelog

Tested by building with

    cabal test -w ghc-8.8.3
2020-05-27 15:06:50 +03:00
hyperfekt 111937ba58
allow aeson 1.5 & these 1.1 (#595)
aeson 1.5.1 depends on these 1.1, so allowing a newer version is
necessary to prevent a conflict.

"
I saw in https://github.com/haskell-nix/hnix/issues/551#issuecomment-633953865 that a bump of aeson was wished before the 0.7.2 release would be cut, so here it is.
At a glance, there don't seem to be any relevant changes:
https://hackage.haskell.org/package/aeson-1.5.0.0/changelog
https://github.com/bos/aeson/compare/1.4.7.1-r1...1.5.0.0
But 1.5.1 requires a bump to these to avoid diamond dependencies.
Changes also seem irrelevant and just related to the change in aeson:
https://hackage.haskell.org/package/these-1.1/changelog
https://github.com/isomorphism/these/compare/v1...v1.1 (most changes here are in other packages in the same repository)

These changes compile fine and tests are successful with GHC 8.8.3.
"
2020-05-27 12:16:20 +03:00
Simon Jakobi a2b9980e2c
Fix build failure in Nix.Var (#587)
The `Refl` constructor had previously been re-exported from
`Data.GADT.Compare`.

This also replaces the dependency on `dependent-sum` with `some`,
where the `Data.GADT.Compare` module is now defined.

Tested by building locally with GHC 8.4.4, 8.6.5 and 8.8.3 in `cabal`.

Fixes #585.
2020-05-25 20:28:26 +03:00
Anton-Latukha 90d688747c
dep: upd dependent-sum (0.6->0.7)
"breaking change in 0.6.2.1/0.6.2.2 and properly do major version bump to
reflect the breaking change"

Changelog: https://hackage.haskell.org/package/dependent-sum-0.7.1.0/changelog

0.7.1.0 - 2020-03-25

    Shift version bounds for some to 1.0.1.* versions.

0.7.0.0 - 2020-03-24

    Fix ChangeLog to include the breaking change in 0.6.2.1/0.6.2.2 and properly do major version bump to reflect the breaking change.

0.6.2.2 - 2020-03-23

    Update GitHub repository in cabal metadata.

0.6.2.1 - 2020-03-21

    (Breaking change) Removed modules Data.GADT.Compare, Data.GADT.Show, Data.Some and now re-export them from the some package. This forced some deprecations to be fully realized.
    Update cabal meta-information (tested with GHC 8.8).

"This forced some deprecations to be fully realized." - it compiles, so
those functions was not used in HNix.

M  hnix.cabal
2020-05-20 05:31:33 +03:00
Simon Jakobi 8341c1b4ac Allow hnix-store-core 0.2 2020-05-15 17:48:39 -07:00
Anton-Latukha 65ece58d2d Allow pretty-show 1.11
M  hnix.cabal

[The previous release of the package](https://hackage.haskell.org/package/pretty-show-1.9.5) (v 1.9.5,  date `Dec 27 16:54:42 UTC 2018`, [tree](1b484f4b16)).
[Curren release](https://hackage.haskell.org/package/pretty-show-1.10) (v1.10, date `Thu Jan 30 19:08:20 UTC 2020`, [tree](0ff7959238)).

Diff is: 1b484f4b16..0ff7959238

Source changes prove [changelog](https://hackage.haskell.org/package/pretty-show-1.10/changelog) statement:
```text
Changes in 1.10
  * Add support for quasi-quotes, as the preferred way of dealing
    with non-properly showable things.
```
is true.

Tests are passing.
2020-05-15 17:33:04 -07:00
John Wiegley 9f1519d9ca
Bump version to 0.7.1 2020-03-03 13:14:20 -08:00
Simon Jakobi 1b6ab11a53 Allow prettyprinter 1.6 2020-03-03 13:14:02 -08:00
John Wiegley 24049aa7b1
Bump version to 0.7.0 2020-03-03 13:01:36 -08:00
John Wiegley 583c048e15
Update version to 0.7.0 2020-03-02 14:56:15 -08:00
John Wiegley 9d63f952e9
Merge remote-tracking branch 'sjakobi/ghc-gte-8.4' 2020-01-13 18:13:37 -08:00
Simon Jakobi 6c9c7c310c Remove unused dependency on regex-tdfa-text 2019-12-05 16:25:55 +01:00
Simon Jakobi 8ce466ee80 Allow megaparsec-8 2019-11-09 20:23:42 -08:00
Simon Jakobi e22882489c Allow prettyprinter-1.5 2019-11-09 20:23:25 -08:00
Simon Jakobi 57d63aa381 Allow parser-combinators-1.1.*
This fixes `nix-build`.
2019-10-22 10:02:59 -07:00
Simon Jakobi 7603e3634c Simplify hnix.cabal some more 2019-10-22 00:27:44 +02:00
Simon Jakobi 5c8c1cc16f We unconditionally depend on deepseq >= 1.4.3 now 2019-10-22 00:18:12 +02:00
Simon Jakobi 5f4cef9922 We unconditionally have hashable >= 1.2.5 now 2019-10-22 00:03:52 +02:00
Simon Jakobi 3d6f34f280 Simplify conditional build-depends 2019-10-22 00:03:39 +02:00
Simon Jakobi 8ed7d765dd Require base >= 4.11
There were multiple build failures with GHC-8.2 due
to (<>) and Semigroup not being in scope.
2019-10-21 23:46:35 +02:00
Simon Jakobi 2df4986aa6 Bump bounds for regex-tdfa, semialign and semialign-indexed 2019-10-21 14:44:47 -07:00
Simon Jakobi e2d2543951 Allow prettyprinter-1.4.0 2019-10-21 08:52:05 -07:00
quasicomputational 91262e7602 Allow most recent versions of dependencies.
The only actual breaking change affecting `hnix` is `these` splitting
into three packages and renaming some things. Otherwise, as the
package should work fine with either the newer or older versions, I
have left the previous bounds in place and added the new ones
disjunctively.

This will help somewhat with #494.
2019-09-06 13:19:14 -07:00
John Wiegley 38219591d4
Bump version to 0.6.1 2019-04-18 17:45:48 -07:00
John Wiegley 9e22c63bd5 Simplify Standard.hs further by creating Nix.Utils.Fix1 2019-03-23 00:49:03 -07:00