diff --git a/distributive-0.5.2.tar.gz b/distributive-0.5.2.tar.gz
deleted file mode 100644
index 59625a5..0000000
--- a/distributive-0.5.2.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ade2be6a5e81950ab2918d938037dde0ce09d04dc399cefbf191ce6cb5f76cd9
-size 11824
diff --git a/distributive-0.5.3.tar.gz b/distributive-0.5.3.tar.gz
new file mode 100644
index 0000000..cd0c7fd
--- /dev/null
+++ b/distributive-0.5.3.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9173805b9c941bda1f37e5aeb68ae30f57a12df9b17bd2aa86db3b7d5236a678
+size 10147
diff --git a/distributive.cabal b/distributive.cabal
index aeb8c95..cbe820a 100644
--- a/distributive.cabal
+++ b/distributive.cabal
@@ -1,7 +1,7 @@
 name:          distributive
 category:      Data Structures
-version:       0.5.2
-x-revision: 2
+version:       0.5.3
+x-revision: 5
 license:       BSD3
 cabal-version: >= 1.8
 license-file:  LICENSE
@@ -21,6 +21,7 @@ extra-source-files:
   travis-cabal-apt-install
   CHANGELOG.markdown
   README.markdown
+  Warning.hs
 
 source-repository head
   type: git
@@ -29,8 +30,8 @@ source-repository head
 custom-setup
   setup-depends:
     base >= 4 && <5,
-    cabal-doctest >= 1 && <1.1,
-    Cabal
+    Cabal,
+    cabal-doctest >= 1 && <1.1
 
 flag semigroups
   manual: True
@@ -51,7 +52,7 @@ flag tagged
 library
   build-depends:
     base                >= 4   && < 5,
-    base-orphans        >= 0.5 && < 1,
+    base-orphans        >= 0.5.2 && < 1,
     transformers        >= 0.2 && < 0.6,
     transformers-compat >= 0.3 && < 1
 
@@ -70,7 +71,8 @@ library
 
   if impl(ghc < 8.0)
     if flag(semigroups)
-      build-depends: semigroups >= 0.11 && < 1
+      -- we need Functor Semi.Min etc.
+      build-depends: semigroups >= 0.13 && < 1
 
   if impl(ghc < 7.8)
     hs-source-dirs: src-compat
@@ -84,7 +86,8 @@ test-suite doctests
   main-is: doctests.hs
   build-depends:
     base      >= 4,
-    doctest   >= 0.11.1 && <0.12
+    distributive,
+    doctest   >= 0.11.1 && <0.16
   ghc-options: -Wall -threaded
   hs-source-dirs: tests
 
diff --git a/ghc-distributive.changes b/ghc-distributive.changes
index 0a64296..9bcedbb 100644
--- a/ghc-distributive.changes
+++ b/ghc-distributive.changes
@@ -1,3 +1,18 @@
+-------------------------------------------------------------------
+Mon May 14 17:02:11 UTC 2018 - psimons@suse.com
+
+- Update distributive to version 0.5.3 revision 5.
+  * Support `doctest-0.12`
+  * Revamp `Setup.hs` to use `cabal-doctest`. This makes `distributive` build
+    with `Cabal-1.25`, and makes the `doctest`s work with `cabal new-build` and
+    sandboxes.
+  * Fix bugs in `Data.Distributive.Generic` that cause generic `Distributive`
+    instances not to work properly for datatypes with recursive types
+  * Add `genericCollect` to `Data.Distributive.Generic`, and switch the underlying
+    machinery in that module to work on a `collect`-like method instead of a
+    `distribute`-like one
+  * Add a test suite for regression-testing `Data.Distributive.Generic`
+
 -------------------------------------------------------------------
 Sun Feb  5 19:32:22 UTC 2017 - psimons@suse.com
 
diff --git a/ghc-distributive.spec b/ghc-distributive.spec
index 6726f12..655aa77 100644
--- a/ghc-distributive.spec
+++ b/ghc-distributive.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-distributive
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,14 +19,14 @@
 %global pkg_name distributive
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.5.2
+Version:        0.5.3
 Release:        0
 Summary:        Distributive functors -- Dual to Traversable
 License:        BSD-2-Clause
-Group:          Development/Languages/Other
-Url:            https://hackage.haskell.org/package/%{pkg_name}
+Group:          Development/Libraries/Haskell
+URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:        https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
+Source1:        https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-base-orphans-devel
 BuildRequires:  ghc-cabal-doctest-devel
@@ -34,7 +34,6 @@ BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-tagged-devel
 BuildRequires:  ghc-transformers-compat-devel
 BuildRequires:  ghc-transformers-devel
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if %{with tests}
 BuildRequires:  ghc-doctest-devel
 BuildRequires:  ghc-generic-deriving-devel
@@ -46,7 +45,7 @@ Distributive functors -- Dual to Traversable.
 
 %package devel
 Summary:        Haskell %{pkg_name} library development files
-Group:          Development/Libraries/Other
+Group:          Development/Libraries/Haskell
 Requires:       %{name} = %{version}-%{release}
 Requires:       ghc-compiler = %{ghc_version}
 Requires(post): ghc-compiler = %{ghc_version}
@@ -75,11 +74,9 @@ cp -p %{SOURCE1} %{pkg_name}.cabal
 %ghc_pkg_recache
 
 %files -f %{name}.files
-%defattr(-,root,root,-)
-%doc LICENSE
+%license LICENSE
 
 %files devel -f %{name}-devel.files
-%defattr(-,root,root,-)
 %doc CHANGELOG.markdown README.markdown
 
 %changelog