diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,7 +32,9 @@
 - stack --version
 
 script:
-- make && make test && make haddock HADDOCKFLAGS=
+- make && make test
+- make haddock
+- make test-sdist
 - cabal test
 - stack --no-terminal --skip-ghc-check test
 
@@ -64,7 +66,9 @@
     - ghc --version
     - cabal --version
     script:
-    - make GHCFLAGS=-O2 && make test GHCFLAGS=-O2 && make haddock HADDOCKFLAGS=
+    - make && make test
+    - make haddock HADDOCKFLAGS=
+    - make test-sdist
     - cabal test
   - ghc: '7.6'
     env:                   GHCVER=7.6.3        CABALVER=1.18
@@ -74,7 +78,9 @@
     - ghc --version
     - cabal --version
     script:
-    - make GHCFLAGS=-O2 && make test GHCFLAGS=-O2 && make haddock HADDOCKFLAGS=
+    - make && make test
+    - make haddock HADDOCKFLAGS=
+    - make test-sdist
     - cabal test
   - ghc: '7.4'
     env:                   GHCVER=7.4.2        CABALVER=1.18
@@ -84,7 +90,9 @@
     - ghc --version
     - cabal --version
     script:
-    - make GHCFLAGS=-O2 && make test GHCFLAGS=-O2 && make haddock HADDOCKFLAGS=
+    - make && make test
+    - make haddock HADDOCKFLAGS=
+    - make test-sdist
     - cabal test
   - ghc: 'hugs'
     env:                   GHCVER=hugs
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@
 	bench/tiers
 GHCIMPORTDIRS = src:tests
 # -dynamic is needed only for src/Test/LeanCheck/Derive.hs and tests/test-derive.hs
-GHCFLAGS = -dynamic -O2
+GHCFLAGS = -O2 $(shell grep -q "Arch Linux" /etc/lsb-release && echo -dynamic)
 HADDOCKFLAGS = --no-print-missing-docs
 HUGSIMPORTDIRS = .:./src:./tests:./etc/hugs-backports:/usr/lib/hugs/packages/*
 HUGSFLAGS = -98 -h32M
diff --git a/etc/hugs-backports/Data/Function.hs b/etc/hugs-backports/Data/Function.hs
new file mode 100644
--- /dev/null
+++ b/etc/hugs-backports/Data/Function.hs
@@ -0,0 +1,12 @@
+-- Copyright 2018 Rudy Matela
+--
+-- Backport of Data.Function for Hugs 2006-09.
+-- Only exports `on`
+module Data.Function
+  ( on
+  )
+where
+
+on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
+(.*.) `on` f = \x y -> f x .*. f y
+infixl 0 `on`
diff --git a/leancheck.cabal b/leancheck.cabal
--- a/leancheck.cabal
+++ b/leancheck.cabal
@@ -11,7 +11,7 @@
 -- this cabal file too complicated.  -- Rudy
 
 name:                leancheck
-version:             0.7.2
+version:             0.7.3
 synopsis:            Enumerative property-based testing
 description:
   LeanCheck is a simple enumerative property-based testing library.
@@ -41,24 +41,25 @@
                , doc/data-invariant.md
                , doc/tutorial.md
 extra-source-files: .gitignore
+                  , .travis.yml
+                  , Makefile
+                  , bench/tiers.hs
+                  , eg/higher-order.hs
+                  , eg/overflow.hs
                   , eg/test-bool.hs
                   , eg/test-list.hs
                   , eg/test-sort.hs
-                  , eg/overflow.hs
-                  , eg/higher-order.hs
-                  , bench/tiers.hs
-                  , .travis.yml
-                  , stack.yaml
-                  , tests/test-sdist
-                  , Makefile
-                  , mk/haskell.mk
+                  , etc/hugs-backports/Data/Function.hs
+                  , mk/All.hs
+                  , mk/Toplibs.hs
                   , mk/depend.mk
                   , mk/ghcdeps
                   , mk/haddock-i
-                  , mk/All.hs
-                  , mk/Toplibs.hs
+                  , mk/haskell.mk
+                  , stack.yaml
                   , tests/diff/*.out
                   , tests/diff/eg/*.out
+                  , tests/test-sdist
 tested-with: GHC==8.4, GHC==8.2, GHC==8.0, GHC==7.10, GHC==7.8, GHC==7.6, GHC==7.4
 
 
@@ -69,7 +70,7 @@
 source-repository this
   type:            git
   location:        https://github.com/rudymatela/leancheck
-  tag:             v0.7.2
+  tag:             v0.7.3
 
 library
   exposed-modules: Test.LeanCheck
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -3,7 +3,7 @@
 
 # resolver: nightly-2015-09-21
 # resolver: ghc-7.10.2
-resolver: lts-11.11
+resolver: lts-12.7
 
 packages:
 - .
diff --git a/tests/test-sdist b/tests/test-sdist
--- a/tests/test-sdist
+++ b/tests/test-sdist
@@ -4,28 +4,25 @@
 #
 # Copyright (c) 2015-2018 Rudy Matela.
 # Distributed under the 3-Clause BSD licence.
-#
-# TODO: also run "make test"
-# TODO: also run "stack test"
 pkgver=` cat *.cabal | grep "^version:" | sed -e "s/version: *//"`
 pkgname=`cat *.cabal | grep "^name:"    | sed -e "s/name: *//"`
 pkg=$pkgname-$pkgver
 set -x
 cabal sdist &&
 cd dist &&
-rm -rf $pkg/ &&
-tar -xzf $pkg.tar.gz &&
-cd $pkg/ &&
-cabal configure --enable-tests --enable-benchmarks &&
-cabal build &&
-cabal test &&
-cd .. &&
 if [ -d ../.git ]
 then
+	# on git repo, test if files are the same
 	git -C .. ls-files                                      | sort > ls-git   &&
 	tar -tf $pkg.tar.gz | grep -v "/$" | sed -e "s,$pkg/,," | sort > ls-cabal &&
 	diff -rud ls-git ls-cabal &&
 	rm -f ls-git ls-cabal
 else
-	true # skip test
+	# outside of git repo, test build
+	rm -rf $pkg/ &&
+	tar -xzf $pkg.tar.gz &&
+	cd $pkg/ &&
+	cabal configure --enable-tests --enable-benchmarks &&
+	cabal build &&
+	cabal test
 fi
