Commit Graph

175 Commits

Author SHA1 Message Date
Tomas Janousek
12d1b31d6c ci: Test against GHC 9.2 2021-10-31 11:04:27 +00:00
Tomas Janousek
6c92dd22ad Bump version to 0.17.0.9 and prepare CHANGES.md sections
We need to bump the version early to avoid overwriting
https://xmonad.github.io/xmonad-docs/xmonad-0.17.0/
2021-10-28 18:05:15 +01:00
Tomas Janousek
7fab71f5f0 xmonad.cabal: Specify default-language
Required for cabal-version >= 1.10
2021-10-27 17:55:00 +01:00
Tomas Janousek
055dce10af Bump cabal-version in xmonad.cabal
Hackage won't accept the release otherwise.
2021-10-27 17:48:44 +01:00
Tomas Janousek
a204c9ed04 Bump version number (0.17.0), update date in changelog/manpage 2021-10-27 16:57:14 +01:00
Tomas Janousek
856c8b2c8d Merge branch 'packdeps' 2021-10-24 17:19:36 +01:00
Tomas Janousek
2e89e5ed23 Bump lower bound for base
We only test with GHC 8.4+ so it's unlikely this builds with older base
(Semigroup stuff …).
2021-10-24 17:08:10 +01:00
slotThe
bc8f7ff133 Move STYLE to CONTRIBUTING.md
Style guidelines should be where most people will see them.  Since we
already ask people to read CONTIRBUTING.md when they submit a pull
request, putting them in there seems like the best place.

We can also drop the curious "or freer" clause from the licensing point,
much like xmonad-contrib@f39218ddb5ffeddce90f620910d5ef2c14f2b43d
already did.
2021-10-24 17:43:45 +02:00
slotThe
7845145706 Delete CONFIG
CONFIG has been completely replaced by TUTORIAL.md and it might be quite
confusing for new users if we keep two tutorials around.
2021-10-24 17:38:13 +02:00
Tomas Janousek
403e4df624 Use "stack ghc" for recompilation when stack.yaml exists
This makes it unnecessary for users of Stack to use a custom build
script, making installation easier.

Inspired by a similar feature in dyre:
a04be85f60

Fixes: https://github.com/xmonad/xmonad/issues/310
2021-08-17 10:46:07 +01:00
Tomas Janousek
aa35ea1856 Make xmessage handle UTF-8 and export it
This unfortunately breaks xmonad-contrib as several modules define their
own `xmessage` function.

Related: https://github.com/xmonad/xmonad/pull/309
2021-08-17 10:46:07 +01:00
Tomas Janousek
d64aeba80f Revise extra-source-files in xmonad.cabal
Ship the new docs, drop tests as these get picked up automatically.
2021-07-24 18:13:11 +01:00
Tomas Janousek
72cbe0667d Revise dependencies a bit
utf8-string isn't needed since d9e3ebf531
(late 2014).

Most of the executable xmonad deps are unnecessary since
307b82a53d (early 2015).

Switch from data-default to data-default-class to avoid bringing in deps
and instances we don't need.
2021-07-24 18:13:11 +01:00
Tomas Janousek
b14b3ffcec Bump version number (pre-release 0.16.9999)
Merging NewSelect into Choose is a breaking change, bump the version to
let xmonad-contrib depend on it.
2021-06-04 19:03:11 +01:00
Tomas Janousek
09425bbe43 Bump version number (pre-release 0.16.999) 2021-06-01 18:37:19 +01:00
Tomas Janousek
1805666e9d Bump X11 dependency
We have a bunch of open PRs that need features added in X11-1.10.

Related: https://github.com/xmonad/xmonad/pull/274
Related: https://github.com/xmonad/xmonad/pull/273
Related: https://github.com/xmonad/xmonad-contrib/pull/545
Related: https://github.com/xmonad/xmonad-contrib/pull/546
Related: https://github.com/xmonad/xmonad-contrib/pull/399
2021-06-01 18:37:19 +01:00
Tomas Janousek
d72da951c9 Use -Wno-* instead of the obsolete -fno-warn-* 2021-05-24 11:19:53 +01:00
Tomas Janousek
56f810d182 GenerateManpage: Drop all dependencies except base and invoke in CI
pandoc's API changes often enough that distros like Debian were patching
our GenerateManpage.hs to work with their version of pandoc, and it
doesn't build against any Stackage LTS except the recently released
LTS-17. Also, building pandoc from source takes quite some time and
resources.

But for what benefit? We're not using any special pandoc functionality
whatsoever. It's just that it was all in Haskell and the entire build
was orchestrated by cabal, but is all that complexity and resource
consumption worth it? I think not.

(Frankly, this whole thing was just a massive waste of time as the help
text in Config.hs isn't generated at all, so we still need to do this
manually. And then, the default key-bindings in core are unlikely to
change ever again.)

Let's simplify this:

* drop all dependencies except base and just run it through runhaskell

* add a Makefile and GH Actions workflow that invokes this after push

* only ship the results in release tarball, not the scripts which are
  considered our dev infrastructure

Closes: https://github.com/xmonad/xmonad/issues/283
Related: https://github.com/xmonad/xmonad/pull/260
Related: https://github.com/xmonad/xmonad/pull/261
Related: https://github.com/xmonad/xmonad/pull/265
Related: https://github.com/xmonad/xmonad/pull/266
Related: https://github.com/xmonad/xmonad/pull/267
Related: https://github.com/xmonad/xmonad/pull/268
2021-04-27 11:05:32 +01:00
Tomas Janousek
6c5204b91c Simplify quickcheck-classes tests for Stack
We don't need the compat hacks for GHC 8.4.
2021-04-03 17:13:25 +01:00
Tomas Janousek
031bbd6230 Make quickcheck-classes dependency optional 2021-04-03 17:13:25 +01:00
Keith
05e8c204e9 Add quickcheck-classes tests for Stack
The tests are implemented by using a newtype wrapper `TestStack`. This is to
avoid creating `Eq1` and `Show1` instances for `Stack` itself, which are needed
by quickcheck-classes to run with GHC less than 8.5. Tests are automatically
generated by `traversalLaws` and `foldableLaws` using the `Arbitrary` instance
for `TestStack`.
2021-04-03 17:13:25 +01:00
Keith
2c91ea1621 Add Foldable, Functor, and Traversable instances for Stack
`Functor` is provided by DeriveFunctor.
`Foldable` uses `integrate` (`Stack`'s `toList`).
`Traversable` uses the `Reverse` Applicative to traverse the `up` list in
reverse order.
2021-04-03 17:13:25 +01:00
Tomas Janousek
5cdf428f55 ci: Enable -Werror
We don't want to ignore warnings do we?
2021-03-31 12:00:30 +01:00
Tomas Janousek
14d9fa247a Drop "testing" cabal flag
Since 8863761d66 (early 2014), the test
suite is a proper cabal test-suite and needs the "xmonad" library to be
built, and thus the flag serve no purpose.

Related: https://github.com/xmonad/xmonad/issues/283
2021-03-31 12:00:30 +01:00
Tomas Janousek
fd243ca1c1 ci: Refresh tested-with
Related: https://github.com/xmonad/X11/pull/75
Related: https://github.com/xmonad/xmonad/issues/283
2021-03-31 12:00:30 +01:00
Peter Simons
758e3d85e6 Generate CI with the haskell-ci utility. 2021-01-19 20:48:16 +01:00
slotThe
0aa40480f9 Control.Exception.Extensible -> Control.Exception
According to its documentation[1], this module simply re-exports
Control.Exception on recent GHC versions.  As we only support recent
versions, this import is unnecessary.

[1] http://hackage.haskell.org/package/extensible-exceptions-0.1.1.4/docs/Control-Exception-Extensible.html
2021-01-12 11:57:34 +01:00
slotThe
823581816a Conditionally error on unused imports
This turns off the warnings about unused imports _unless_ one is using
the oldest supported version of GHC (right now that's 8.4.4 or older);
then it turns them into errors!  This prevents xmonad from emitting
warnings about imports that have to be there due to backwards
compatibility, but are obsolete in newer versions (think MFP), while at
the same time preventing bitrot.
2020-12-13 22:15:41 +01:00
slotThe
3ea0d74954 Drop unsupported GHC versions from tested-with
Removes all versions of GHC that are not part of the CI, as these can't
be guaranteed to be built against master every time
2020-12-13 22:15:41 +01:00
Peter Simons
66d2241703 GenerateManpage: port the utility to pandoc 2.10.x 2020-08-25 11:46:30 +02:00
Peter Simons
bbc1c010ed Re-generate the Travis-CI build instructions with the latest version of haskell-ci. 2020-08-25 11:45:51 +02:00
Peter Simons
bb13853929 Bump version number, update changelog, and re-generate the man page. 2018-09-30 13:34:01 +02:00
Peter Simons
4ccaff8f25 xmonad.cabal: bump version number to 0.14.2 for release 2018-08-21 09:59:02 +02:00
Peter Simons
56dc186e68 xmonad.cabal: the author attribute is free-form, not a list
I rather not trust other code that interprets that file to know how to strip
the white space before the commas.
2018-08-21 09:57:59 +02:00
Peter Simons
10b2efe81c xmonad.cabal: add missing xmonad.hs file to the tarball again
Fixes https://github.com/xmonad/xmonad/issues/181.
2018-08-21 09:57:11 +02:00
Peter Simons
49c69fa73b xmonad.cabal: require at least base version 4.9
We need GHC 8.x and beyond for Data.Semigroup, Control.Monad.Fail, etc.
2018-08-20 14:06:32 +02:00
Peter Simons
120ebce490 xmonad.cabal: simplify and modernize the Cabal file
It's also pretty-printed with 'stylish-cabal' for consistent formatting.
2018-08-20 14:05:33 +02:00
Peter Simons
c0cf91303f Tentatively bump version number to 0.14.1. 2018-08-20 13:49:34 +02:00
Peter Simons
886a0d4041 GenerateManpage: greatly simplify the code
We can take advantage of modern Pandoc features to move information like the
release date, the man page section, etc. into the markdown source rather than
having to insert that data during the rendering process. The only thing that
remains to be figured out by this tool is the set of known key bindings.
2018-08-20 11:35:31 +02:00
Peter Simons
98f39eabc1 xmonad.cabal: don't depend on semigroups when building with GHC 8.x
Recent compiler versions have Data.Semigroup in 'base'.
2018-08-20 10:40:03 +02:00
Peter Simons
425c3c0872 Core: derive 'MonadFail X' instance for GHC 8.6.x and beyond
A side effect of that change is that our code no longer compiles with GHC
versions prior to 8.0.x. We could work around that, no doubt, but the resulting
code would require CPP and Cabal flags and whatnot. It feels more reasonable to
just require a moderately recent compiler instead of going through all that
trouble.
2018-08-20 10:40:03 +02:00
Peter Simons
29c9819daa xmonad.cabal: update constraints on 'base'
- Our code does not compile with versions prior to 4.6, because we need
   System.Environment.lookupEnv.

 - Our code does not compile with version 4.12 (GHC 8.6.x) and beyond.

Closes https://github.com/xmonad/xmonad/issues/180.
2018-08-20 08:45:11 +02:00
Peter Simons
4ef9c12d13 Merge pull request #99 from gliptak/warnings1
Cleanup build warnings
2018-07-30 12:40:09 +02:00
Peter Simons
7c1065c43f Merge pull request #127 from dudebout/patch-1
remove the man pages from data-files
2018-07-30 12:31:26 +02:00
Peter Simons
af104509c3 GenerateManpage does not compile with Cabal 2.2.x. 2018-07-30 11:56:07 +02:00
Clint Adams
013da018a1 Port GenerateManpage.hs to pandoc 2
Closes: #123

There is a regression here in terms of aesthetics.
2018-07-30 11:53:58 +02:00
Peter Simons
19069b3d4b xmonad.cabal: drop hard-coded profiling mode
Hackage won't accept the package with that "hack" in place. If you want to
compile with profiling enabled, please configure the build with
--enable-profiling via "cabal" or "stack" or whatever build driver you're
using.
2018-07-30 11:03:53 +02:00
Peter Simons
969fca9406 Merge pull request #157 from xmonad/travis
Travis
2018-07-30 10:44:27 +02:00
Peter Simons
61f00e65f1 Merge pull request #169 from mimi1vx/patch-1
Allow  X11-1.9
2018-07-30 09:43:07 +02:00
Peter Simons
e601a7d16d xmonad.cabal: updated tested-with fields to the latest major release, respectively 2018-07-30 09:33:03 +02:00