diff -Nru haskell-derive-2.6.3/CHANGES.txt haskell-derive-2.6.4/CHANGES.txt --- haskell-derive-2.6.3/CHANGES.txt 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/CHANGES.txt 2018-06-18 11:08:22.000000000 +0000 @@ -1,5 +1,6 @@ -Changelog for Derive - +2.6.4 + Rewrite for haskell-src-exts == 1.20.* + #27, disable a few more extensions by default (sync with the HLint list) 2.6.3 #24, support GHC 8.2 2.6.2 diff -Nru haskell-derive-2.6.3/debian/changelog haskell-derive-2.6.4/debian/changelog --- haskell-derive-2.6.3/debian/changelog 2017-11-05 03:33:00.000000000 +0000 +++ haskell-derive-2.6.4/debian/changelog 2018-06-25 10:56:35.000000000 +0000 @@ -1,8 +1,35 @@ -haskell-derive (2.6.3-1build1) bionic; urgency=medium +haskell-derive (2.6.4-1) unstable; urgency=medium - * No-change rebuild for new GHC ABIs + * New upstream release, drop new derive patch - -- Steve Langasek Sun, 05 Nov 2017 03:33:00 +0000 + -- Gianfranco Costamagna Mon, 25 Jun 2018 12:56:35 +0200 + +haskell-derive (2.6.3-3) unstable; urgency=medium + + [ Clint Adams ] + * Set Rules-Requires-Root to no. + + [ Gianfranco Costamagna ] + * debian/patches/7e3ed185e1bd97ce02bc146e7abc3d78d76da2e2.patch: + - upstream patch for new derive (Closes: #895876). + + -- Gianfranco Costamagna Mon, 25 Jun 2018 11:41:10 +0200 + +haskell-derive (2.6.3-2) unstable; urgency=medium + + [ Ilias Tsitsimpis ] + * Change Priority to optional. Since Debian Policy version 4.0.1, + priority extra has been deprecated. + * Use the HTTPS form of the copyright-format URL + * Modify d/watch and Source field in d/copyright to use HTTPS + * Declare compliance with Debian policy 4.1.1 + * Use salsa.debian.org URLs in Vcs-{Browser,Git} fields + + [ Clint Adams ] + * Bump to Standards-Version 4.1.4. + * Delete Uploaders field. closes: #836465. + + -- Clint Adams Mon, 09 Apr 2018 20:04:47 -0400 haskell-derive (2.6.3-1) unstable; urgency=medium diff -Nru haskell-derive-2.6.3/debian/control haskell-derive-2.6.4/debian/control --- haskell-derive-2.6.3/debian/control 2017-11-05 03:33:00.000000000 +0000 +++ haskell-derive-2.6.4/debian/control 2018-06-25 09:37:48.000000000 +0000 @@ -1,18 +1,16 @@ Source: haskell-derive -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian Haskell Group -Uploaders: - Masayuki Hatta , -Priority: extra +Maintainer: Debian Haskell Group +Priority: optional Section: haskell +Rules-Requires-Root: no Build-Depends: cdbs, debhelper (>= 9), ghc (>= 8), ghc-prof, haskell-devscripts (>= 0.13), - libghc-src-exts-dev (>= 1.18), - libghc-src-exts-dev (<< 1.20), + libghc-src-exts-dev (>= 1.20), + libghc-src-exts-dev (<< 1.21), libghc-src-exts-prof, libghc-syb-dev, libghc-syb-prof, @@ -24,10 +22,10 @@ libghc-src-exts-doc, libghc-syb-doc, libghc-uniplate-doc, -Standards-Version: 4.0.0 +Standards-Version: 4.1.4 Homepage: http://community.haskell.org/~ndm/derive/ -Vcs-Browser: https://anonscm.debian.org/cgit/pkg-haskell/DHG_packages.git/tree/p/haskell-derive -Vcs-Git: https://anonscm.debian.org/git/pkg-haskell/DHG_packages.git +Vcs-Browser: https://salsa.debian.org/haskell-team/DHG_packages/tree/master/p/haskell-derive +Vcs-Git: https://salsa.debian.org/haskell-team/DHG_packages.git [p/haskell-derive] Package: libghc-derive-dev Architecture: any diff -Nru haskell-derive-2.6.3/debian/copyright haskell-derive-2.6.4/debian/copyright --- haskell-derive-2.6.3/debian/copyright 2017-09-03 20:35:02.000000000 +0000 +++ haskell-derive-2.6.4/debian/copyright 2018-06-25 09:36:58.000000000 +0000 @@ -1,7 +1,7 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: derive Upstream-Contact: Neil Mitchell -Source: http://hackage.haskell.org/package/derive +Source: https://hackage.haskell.org/package/derive Files: * Copyright: Copyright 2006-2012 Neil Mitchell diff -Nru haskell-derive-2.6.3/debian/watch haskell-derive-2.6.4/debian/watch --- haskell-derive-2.6.3/debian/watch 2017-09-03 20:35:02.000000000 +0000 +++ haskell-derive-2.6.4/debian/watch 2018-06-25 09:36:58.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -http://hackage.haskell.org/package/derive/distro-monitor .*-([0-9\.]+).(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) +https://hackage.haskell.org/package/derive/distro-monitor .*-([0-9\.]+).(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) diff -Nru haskell-derive-2.6.3/derive.cabal haskell-derive-2.6.4/derive.cabal --- haskell-derive-2.6.3/derive.cabal 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/derive.cabal 2018-06-18 11:08:22.000000000 +0000 @@ -1,11 +1,10 @@ -cabal-version: >= 1.18 -build-type: Default -name: derive -version: 2.6.3 +cabal-version: 1.18 build-type: Simple +name: derive +version: 2.6.4 copyright: Neil Mitchell 2006-2017 -author: Neil Mitchell -maintainer: Neil Mitchell +author: Neil Mitchell and others +maintainer: None homepage: https://github.com/ndmitchell/derive#readme bug-reports: https://github.com/ndmitchell/derive/issues license: BSD3 @@ -38,7 +37,7 @@ base == 4.*, filepath, syb, template-haskell, containers, pretty, directory, process, bytestring, - haskell-src-exts >= 1.18 && < 1.20, + haskell-src-exts == 1.20.*, transformers >= 0.2, uniplate >= 1.5 && < 1.7 diff -Nru haskell-derive-2.6.3/README.md haskell-derive-2.6.4/README.md --- haskell-derive-2.6.3/README.md 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/README.md 2018-06-18 11:08:22.000000000 +0000 @@ -1,7 +1,8 @@ # Derive [![Hackage version](https://img.shields.io/hackage/v/derive.svg?label=Hackage)](https://hackage.haskell.org/package/derive) [![Build Status](https://img.shields.io/travis/ndmitchell/derive.svg)](https://travis-ci.org/ndmitchell/derive) +**Warning: This package has no official maintainer anymore. Use at your own risk. You may wish to consider the built-in mechanism [`GHC.Generics`](https://hackage.haskell.org/package/base-4.11.1.0/docs/GHC-Generics.html) or libraries such as [`generic-deriving`](https://hackage.haskell.org/package/generic-deriving).** -Data.Derive is a library and a tool for deriving instances for Haskell programs. It is designed to work with custom derivations, SYB and Template Haskell mechanisms. The tool requires GHC, but the generated code is portable to all compilers. We see this tool as a competitor to DrIFT. +Data.Derive is a library and a tool for deriving instances for Haskell programs. It is designed to work with custom derivations, SYB and Template Haskell mechanisms. The tool requires GHC, but the generated code is portable to all compilers. We see this tool as a competitor to DrIFT. This document proceeds as follows: diff -Nru haskell-derive-2.6.3/src/Data/Derive/DSL/HSE.hs haskell-derive-2.6.4/src/Data/Derive/DSL/HSE.hs --- haskell-derive-2.6.3/src/Data/Derive/DSL/HSE.hs 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/src/Data/Derive/DSL/HSE.hs 2018-06-18 11:08:22.000000000 +0000 @@ -23,7 +23,7 @@ -- data Sample a = First | Second a a | Third a sample :: Input -sample = DataDecl () (DataType ()) Nothing (DHApp () (DHead () $ name "Sample") (tyVarBind "a")) ctrs Nothing +sample = DataDecl () (DataType ()) Nothing (DHApp () (DHead () $ name "Sample") (tyVarBind "a")) ctrs [] where ctrs = [ctr "First" 0, ctr "Second" 2, ctr "Third" 1] ctr s i = QualConDecl () Nothing Nothing $ ConDecl () (name s) $ replicate i $ tyVar "a" @@ -90,7 +90,7 @@ f [] = fromConstr $ readCon dat "[]" f (x:xs) = fromConstrB (g x (f xs `asTypeOf` res)) $ readCon dat "(:)" dat = dataTypeOf res - + g :: (Data a, Data b) => Output -> a -> b g x xs = r2 where r2 = if typeOf r2 == typeOf xs then coerce xs else fromOutput x diff -Nru haskell-derive-2.6.3/src/Data/Derive/UniplateDirect.hs haskell-derive-2.6.4/src/Data/Derive/UniplateDirect.hs --- haskell-derive-2.6.3/src/Data/Derive/UniplateDirect.hs 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/src/Data/Derive/UniplateDirect.hs 2018-06-18 11:08:22.000000000 +0000 @@ -224,10 +224,10 @@ listCtor = DataDecl () (DataType ()) Nothing (DHApp () (DHead () $ Ident () "[]") (UnkindedVar () $ Ident () "a")) [QualConDecl () Nothing Nothing $ ConDecl () (Ident () "[]") [] - ,QualConDecl () Nothing Nothing $ ConDecl () (Ident () "(:)") [tyVar "a", TyList () $ tyVar "a"]] Nothing + ,QualConDecl () Nothing Nothing $ ConDecl () (Ident () "(:)") [tyVar "a", TyList () $ tyVar "a"]] [] tupleDefn :: Int -> Decl () -tupleDefn n = DataDecl () (DataType ()) Nothing dhead [QualConDecl () Nothing Nothing $ ConDecl () (Ident () s) (map tyVar vars)] Nothing +tupleDefn n = DataDecl () (DataType ()) Nothing dhead [QualConDecl () Nothing Nothing $ ConDecl () (Ident () s) (map tyVar vars)] [] where s = "(" ++ replicate (n - 1) ',' ++ ")" vars = ['v':show i | i <- [1..n]] dhead = foldr (flip (DHApp ())) (DHead () $ Ident () s) (map (UnkindedVar () . Ident ()) vars) diff -Nru haskell-derive-2.6.3/src/Derive/Derivation.hs haskell-derive-2.6.4/src/Derive/Derivation.hs --- haskell-derive-2.6.3/src/Derive/Derivation.hs 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/src/Derive/Derivation.hs 2018-06-18 11:08:22.000000000 +0000 @@ -31,15 +31,17 @@ moduleDerives :: Module () -> [Type ()] -moduleDerives = concatMap f . moduleDecls +moduleDerives = concatMap f . moduleDecls where f (DataDecl _ _ _ (fromDeclHead -> (name, vars)) _ deriv) = g name vars deriv f (GDataDecl _ _ _ (fromDeclHead -> (name, vars)) _ _ deriv) = g name vars deriv - f (DerivDecl _ _ (fromIParen -> IRule _ _ _ (fromInstHead -> (name, args)))) = [TyCon () name `tyApps` args] + f (DerivDecl _ _ _ (fromIParen -> IRule _ _ _ (fromInstHead -> (name, args)))) = [TyCon () name `tyApps` args] f _ = [] - g name vars deriv = [TyCon () a `tyApps` (b:bs) | IRule _ _ _ (fromInstHead -> (a,bs)) <- map fromIParen $ maybe [] (\(Deriving _ xs) -> xs) deriv] + g name vars deriv = [TyCon () a `tyApps` (b:bs) | IRule _ _ _ (fromInstHead -> (a,bs)) <- map fromIParen $ f deriv] where b = TyCon () (UnQual () name) `tyApps` map (tyVar . prettyPrint) vars + f [Deriving _ _ xs] = xs + f _ = [] --------------------------------------------------------------------- @@ -85,7 +87,7 @@ writeDerive file modu flags xs = do -- force the output first, ensure that we don't crash half way through () <- length (concat xs) `seq` return () - + let append = Append `elem` flags let output = [x | Output x <- flags] diff -Nru haskell-derive-2.6.3/src/Derive/Main.hs haskell-derive-2.6.4/src/Derive/Main.hs --- haskell-derive-2.6.3/src/Derive/Main.hs 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/src/Derive/Main.hs 2018-06-18 11:08:22.000000000 +0000 @@ -60,5 +60,8 @@ [Arrows -- steals proc ,TransformListComp -- steals the group keyword ,XmlSyntax, RegularPatterns -- steals a-b + ,UnboxedTuples -- breaks (#) lens operator + ,QuasiQuotes -- breaks [x| ...], making whitespace free list comps break + ,DoRec, RecursiveDo -- breaks rec + ,TypeApplications -- HSE fails on @ patterns ] - diff -Nru haskell-derive-2.6.3/src/Derive/Test.hs haskell-derive-2.6.4/src/Derive/Test.hs --- haskell-derive-2.6.3/src/Derive/Test.hs 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/src/Derive/Test.hs 2018-06-18 11:08:22.000000000 +0000 @@ -34,7 +34,7 @@ ,QualConDecl () Nothing Nothing (ConDecl () (Ident () "Cons") [TyVar () (Ident () "a") ,TyApp () (TyCon () (UnQual () (Ident () "List"))) (TyVar () (Ident () "a"))])] - Nothing + [] -- test each derivation diff -Nru haskell-derive-2.6.3/src/Language/Haskell/Convert.hs haskell-derive-2.6.4/src/Language/Haskell/Convert.hs --- haskell-derive-2.6.3/src/Language/Haskell/Convert.hs 2017-08-01 15:04:46.000000000 +0000 +++ haskell-derive-2.6.4/src/Language/Haskell/Convert.hs 2018-06-18 11:08:22.000000000 +0000 @@ -44,13 +44,13 @@ NewtypeD cxt n vs _ con ds -> f (NewType ()) cxt n vs [con] ds where f :: DataOrNew () -> Cxt -> TH.Name -> [TyVarBndr] -> [Con] -> unused -> HS.Decl () - f t cxt n vs con _ = DataDecl () t (Just $ c cxt) (dh (c n) (c vs)) (c con) Nothing + f t cxt n vs con _ = DataDecl () t (Just $ c cxt) (dh (c n) (c vs)) (c con) [] #else DataD cxt n vs con ds -> f (DataType ()) cxt n vs con ds NewtypeD cxt n vs con ds -> f (NewType ()) cxt n vs [con] ds where f :: DataOrNew () -> Cxt -> TH.Name -> [TyVarBndr] -> [Con] -> [TH.Name] -> HS.Decl () - f t cxt n vs con ds = DataDecl () t (Just $ c cxt) (dh (c n) (c vs)) (c con) Nothing + f t cxt n vs con ds = DataDecl () t (Just $ c cxt) (dh (c n) (c vs)) (c con) [] #endif dh name [] = DHead () name