From 1b84d8ef34b03744185ca831c3a88a890dea2ac4 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Fri, 15 Nov 2019 12:50:30 -0500 Subject: [PATCH] gnu: ghc-haddock-api: Update to 2.22.0. * gnu/packages/patches/ghc-haddock-api-fix-haddock.patch: New file. * gnu/local.mk: Add it. * gnu/packages/haskell-xyz.scm (ghc-haddock-api): Update to 2.22.0. [source]: Use the new patch. [arguments]: Change the 'update-constraints' phase to allow newer versions of 'QuickCheck' and 'hspec'. --- gnu/local.mk | 1 + gnu/packages/haskell-xyz.scm | 13 ++--- .../patches/ghc-haddock-api-fix-haddock.patch | 54 +++++++++++++++++++ 3 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/ghc-haddock-api-fix-haddock.patch diff --git a/gnu/local.mk b/gnu/local.mk index d580ff72d0..4d14c4ccad 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -879,6 +879,7 @@ dist_patch_DATA = \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-diff-swap-cover-args.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ + %D%/packages/patches/ghc-haddock-api-fix-haddock.patch \ %D%/packages/patches/ghc-hpack-fix-tests.patch \ %D%/packages/patches/ghc-microlens-aeson-fix-tests.patch \ %D%/packages/patches/ghc-monad-par-fix-tests.patch \ diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 72e9ccc495..da4e7460b4 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -4740,7 +4740,7 @@ (define-public ghc-haddock (define-public ghc-haddock-api (package (name "ghc-haddock-api") - (version "2.19.0.1") + (version "2.22.0") (source (origin (method url-fetch) @@ -4748,9 +4748,10 @@ (define-public ghc-haddock-api "https://hackage.haskell.org/package/haddock-api/haddock-api-" version ".tar.gz")) + (patches (search-patches "ghc-haddock-api-fix-haddock.patch")) (sha256 (base32 - "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3")))) + "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014")))) (build-system haskell-build-system) (arguments `(#:phases @@ -4758,10 +4759,10 @@ (define-public ghc-haddock-api (add-before 'configure 'update-constraints (lambda _ (substitute* "haddock-api.cabal" - (("Cabal \\^>= 2\\.0\\.0") - "Cabal ^>= 2.2.0") - (("hspec \\^>= 2\\.4\\.4") - "hspec >= 2.4.4 && < 2.6"))))))) + (("QuickCheck \\^>= 2\\.11") + "QuickCheck ^>= 2.13") + (("hspec >= 2\\.4\\.4 && < 2\\.6") + "hspec >= 2.4.4 && < 2.8"))))))) (inputs `(("ghc-paths" ,ghc-paths) ("ghc-haddock-library" ,ghc-haddock-library))) diff --git a/gnu/packages/patches/ghc-haddock-api-fix-haddock.patch b/gnu/packages/patches/ghc-haddock-api-fix-haddock.patch new file mode 100644 index 0000000000..927cb5b366 --- /dev/null +++ b/gnu/packages/patches/ghc-haddock-api-fix-haddock.patch @@ -0,0 +1,54 @@ +This patch is taken from upstream. It fixes documentation generation. +The patch has been lightly adapted to apply to the release tarball, but +the commit message was left untouched, so it refers to some changes not +included in the patch. + +From 0d9a81e20238a6b72f9f5c005f1f7e9cf05f6fb9 Mon Sep 17 00:00:00 2001 +From: Alec Theriault +Date: Sat, 27 Oct 2018 10:05:04 -0700 +Subject: [PATCH] Fix documentation in `haddock-api` (#957) + +* Fix misplaced Haddocks in Haddock itself + +Haddock should be able to generate documentation for 'haddock-api' +again. + +* Make CI check that documentation can be built. + +* Add back a doc that is OK +--- + .travis.yml | 3 +++ + haddock-api/src/Haddock/Backends/LaTeX.hs | 10 +++++----- + 2 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/src/Haddock/Backends/LaTeX.hs b/src/Haddock/Backends/LaTeX.hs +index 4e0e6eba..613c6deb 100644 +--- a/src/Haddock/Backends/LaTeX.hs ++++ b/src/Haddock/Backends/LaTeX.hs +@@ -243,8 +243,8 @@ ppDocGroup lev doc = sec lev <> braces doc + + -- | Given a declaration, extract out the names being declared + declNames :: LHsDecl DocNameI +- -> ( LaTeX -- ^ to print before each name in an export list +- , [DocName] -- ^ names being declared ++ -> ( LaTeX -- to print before each name in an export list ++ , [DocName] -- names being declared + ) + declNames (L _ decl) = case decl of + TyClD _ d -> (empty, [tcdName d]) +@@ -444,9 +444,9 @@ ppLPatSig doc docnames ty unicode + -- arguments as needed. + ppTypeOrFunSig :: HsType DocNameI + -> DocForDecl DocName -- ^ documentation +- -> ( LaTeX -- ^ first-line (no-argument docs only) +- , LaTeX -- ^ first-line (argument docs only) +- , LaTeX -- ^ type prefix (argument docs only) ++ -> ( LaTeX -- first-line (no-argument docs only) ++ , LaTeX -- first-line (argument docs only) ++ , LaTeX -- type prefix (argument docs only) + ) + -> Bool -- ^ unicode + -> LaTeX +-- +2.23.0 +