From 23f4221fe16aa314df7328a517d864b688a0638f Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sat, 8 Feb 2020 22:06:33 +0100 Subject: [PATCH 1/9] Remove unnecessary dependencies from hpath-posix --- hpath-posix/hpath-posix.cabal | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hpath-posix/hpath-posix.cabal b/hpath-posix/hpath-posix.cabal index c754b4c..8f5f24f 100644 --- a/hpath-posix/hpath-posix.cabal +++ b/hpath-posix/hpath-posix.cabal @@ -32,17 +32,9 @@ library -- other-extensions: c-sources: cbits/dirutils.c build-depends: base >= 4.8 && <5 - , IfElse , bytestring >= 0.10 - , exceptions >= 0.10 , hpath-filepath >= 0.10.3 - , safe-exceptions >= 0.1 - , streamly >= 0.7 - , streamly-bytestring >= 0.1.0.1 - , time >= 1.8 , unix >= 2.5 - , unix-bytestring >= 0.3 - , utf8-string if impl(ghc < 8.0) build-depends: fail >= 4.9 From ec9884276c91f0a7f69ab6e3dcaf8c3a51c7f1a6 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Mon, 17 Feb 2020 18:50:08 +0100 Subject: [PATCH 2/9] Fix bug in createDirRecursive with trailing path separators --- hpath-directory/CHANGELOG.md | 4 ++++ hpath-directory/hpath-directory.cabal | 2 +- hpath-directory/src/System/Posix/RawFilePath/Directory.hs | 4 ++-- .../Posix/RawFilePath/Directory/CreateDirRecursiveSpec.hs | 5 +++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/hpath-directory/CHANGELOG.md b/hpath-directory/CHANGELOG.md index 839b5bc..8ddb7b7 100644 --- a/hpath-directory/CHANGELOG.md +++ b/hpath-directory/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for hpath-directory +## 0.13.2 -- 2020-02-17 + +* Fix bug in `createDirRecursive` with trailing path separators + ## 0.13.1 -- 2020-01-29 * Split some functionality out into 'hpath-posix' diff --git a/hpath-directory/hpath-directory.cabal b/hpath-directory/hpath-directory.cabal index f74c1ba..c399222 100644 --- a/hpath-directory/hpath-directory.cabal +++ b/hpath-directory/hpath-directory.cabal @@ -1,7 +1,7 @@ cabal-version: >=1.10 name: hpath-directory -version: 0.13.1 +version: 0.13.2 synopsis: Alternative to 'directory' package with ByteString based filepaths description: This provides a safer alternative to the 'directory' package. FilePaths are ByteString based, so this diff --git a/hpath-directory/src/System/Posix/RawFilePath/Directory.hs b/hpath-directory/src/System/Posix/RawFilePath/Directory.hs index d533774..152cdcc 100644 --- a/hpath-directory/src/System/Posix/RawFilePath/Directory.hs +++ b/hpath-directory/src/System/Posix/RawFilePath/Directory.hs @@ -742,8 +742,8 @@ createDirRecursive fm p = go p | en == eEXIST -> unlessM (doesDirectoryExist dest) (ioError e) | en == eNOENT - -> createDirRecursive fm (takeDirectory dest) - >> createDirectory dest fm + -> go (takeDirectory $ dropTrailingPathSeparator dest) + >> createDir fm dest | otherwise -> ioError e diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CreateDirRecursiveSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CreateDirRecursiveSpec.hs index ec5eaf1..60d6aa9 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CreateDirRecursiveSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CreateDirRecursiveSpec.hs @@ -49,6 +49,11 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ createDirRecursive' "newDir" deleteDir' "newDir" + it "createDirRecursive with trailing path separator, all fine" $ do + createDirRecursive' "newDir/foo/" + deleteDir' "newDir/foo" + deleteDir' "newDir" + it "createDirRecursive, parent directories do not exist" $ do createDirRecursive' "some/thing/dada" deleteDir' "some/thing/dada" From bb86e3ba2415999532f59637a748b058fae94f6f Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sat, 8 Feb 2020 22:10:40 +0100 Subject: [PATCH 3/9] Bump hpath-posix to 0.13.1 --- hpath-posix/CHANGELOG.md | 7 ++++++- hpath-posix/hpath-posix.cabal | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/hpath-posix/CHANGELOG.md b/hpath-posix/CHANGELOG.md index 5b56d6b..96bfaa4 100644 --- a/hpath-posix/CHANGELOG.md +++ b/hpath-posix/CHANGELOG.md @@ -1,5 +1,10 @@ # Revision history for hpath-posix -## 0.1.0.0 -- 2020-01-29 +## 0.13.1 -- 2020-02-08 + +* Remove unnecessary dependencies + + +## 0.13.0 -- 2020-01-29 * First version. Released on an unsuspecting world. diff --git a/hpath-posix/hpath-posix.cabal b/hpath-posix/hpath-posix.cabal index 8f5f24f..c80a804 100644 --- a/hpath-posix/hpath-posix.cabal +++ b/hpath-posix/hpath-posix.cabal @@ -1,7 +1,7 @@ cabal-version: >=1.10 name: hpath-posix -version: 0.13.0 +version: 0.13.1 synopsis: Some low-level POSIX glue code, that is not in 'unix' homepage: https://github.com/hasufell/hpath bug-reports: https://github.com/hasufell/hpath/issues From 13674f39b38239064afe933bfcaf091a30d03921 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Wed, 19 Feb 2020 13:59:44 +0100 Subject: [PATCH 4/9] Require non-broken streamly-bytestring --- hpath-directory/hpath-directory.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hpath-directory/hpath-directory.cabal b/hpath-directory/hpath-directory.cabal index c399222..9b3f21d 100644 --- a/hpath-directory/hpath-directory.cabal +++ b/hpath-directory/hpath-directory.cabal @@ -43,7 +43,7 @@ library , hpath-posix >= 0.13 , safe-exceptions >= 0.1 , streamly >= 0.7 - , streamly-bytestring >= 0.1.0.1 + , streamly-bytestring >= 0.1.2 , time >= 1.8 , unix >= 2.5 , unix-bytestring >= 0.3 From 06b5a46cf81371204870ad3ebf78af2e59fbbdd7 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 14 Apr 2020 00:00:42 +0200 Subject: [PATCH 5/9] Update travis with osc build --- .travis.yml | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 08224c0..36fbdc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,18 +9,50 @@ matrix: include: - env: CABALVER=3.0 GHCVER=7.10.3 SKIP_DOCTESTS=yes addons: {apt: {packages: [cabal-install-3.0,ghc-7.10.3], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - env: CABALVER=3.0 GHCVER=8.0.2 SKIP_DOCTESTS=yes addons: {apt: {packages: [cabal-install-3.0,ghc-8.0.2], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - env: CABALVER=3.0 GHCVER=8.2.2 addons: {apt: {packages: [cabal-install-3.0,ghc-8.2.2], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - env: CABALVER=3.0 GHCVER=8.4.4 addons: {apt: {packages: [cabal-install-3.0,ghc-8.4.4], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - env: CABALVER=3.0 GHCVER=8.6.5 addons: {apt: {packages: [cabal-install-3.0,ghc-8.6.5], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - env: CABALVER=3.0 GHCVER=8.8.1 addons: {apt: {packages: [cabal-install-3.0,ghc-8.8.1], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - env: CABALVER=head GHCVER=head addons: {apt: {packages: [cabal-install-head,ghc-head], sources: [hvr-ghc]}} + before_install: + - sudo apt-get install -y hscolour + - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH + - os: osx + osx_image: xcode11.3 + language: generic + before_install: + - mkdir -p ~/.ghcup/bin + - curl https://gitlab.haskell.org/haskell/ghcup/raw/master/ghcup > ~/.ghcup/bin/ghcup + - chmod +x ~/.ghcup/bin/ghcup + - export PATH=~/.cabal/bin:~/.ghcup/bin:$PATH + - ghcup install 8.6.5 + - ghcup set 8.6.5 + - ghcup install-cabal allow_failures: - env: CABALVER=head GHCVER=head @@ -29,10 +61,6 @@ env: global: - secure: HPBARvNM85ea2U0Ynq5MMe6BRlnuwqXWuSn20VY3EYCAT2njkVPYnR3O7+bGE6aq0KHAV87zz5iUfGJontd86tE0sDVjcSuRY0hqjOeJTkQq5M8WXJZOpVqlBTwDP1Q3x/fwoRa0dt9Z0tZZdKMlrf2XdcKPDdhcP1QYP4aV/jO4ZCfAQr7zVCvTae+Lp/KmwFYcBbFo/pj0duF1M4Oqx/D388b/W4jVE3lgd/TK7Ja1xWP6g+Oyvo6iQK8yJVYGdm6E+cVsNueiisnTJ/rRA53lsaC9dmWtZaFGl41wPviSU5zPq03vOuZMiyE2WtCHoo46ONXrXJ9N2soqdQVfEkr9Nw5LQl+6C5lCPEejZ575YUkuO05H3wvHMk3YY4zWXNFA9eZ47PEH8tpoUk9LPBacCKQFtp5lfRk63crba5CiFtcMyFq++0mLpNthNvtto7ffHMZrt6fvK9axI+r21VPftf/3FiFY4mnCp/Bln+ijklfZSN71VqiT20EWuqxQHw8aCpT00KA/PKGl9iJfoN4OO3XzNRTtmM+L9Im4bc1ni9YQ6N3UYg3z0nEnCLwFcTmTH/tDMHRremE0dM6B++YfcnyIhen8w+hG4bcXk7jbMUizRhUhStN7TZQuC9S4wE5whhp9c03rJZMmH5E2rlXY3lwVgeyWm1TuMp1RYWI= -before_install: - - sudo apt-get install -y hscolour - - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - install: - cabal --version - travis_retry cabal update @@ -48,7 +76,6 @@ script: - (cd hpath-filepath && cabal check) - (cd hpath-io && cabal check) - cabal sdist all - - cabal haddock --haddock-hyperlink-source --haddock-html-location=https://hackage.haskell.org/package/\$pkg-\$version/docs/ all - cabal install --lib all notifications: From 74d686547e67da3eeae327c84c63f83833205890 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 14 Apr 2020 17:07:35 +0200 Subject: [PATCH 6/9] Fix humongous bug with fdopendir on mac https://opensource.apple.com/source/Libc/Libc-1244.1.7/include/dirent.h.auto.html ccall picks the wrong one, causes crashes and truncated d_name entries. Wrapping the function in a small C shim, as well as using the CAPI, fixes this. --- hpath-posix/cbits/dirutils.c | 2 +- hpath-posix/cbits/dirutils.h | 2 ++ .../System/Posix/RawFilePath/Directory/Traversals.hs | 11 ++++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/hpath-posix/cbits/dirutils.c b/hpath-posix/cbits/dirutils.c index 660607d..2ba92ab 100644 --- a/hpath-posix/cbits/dirutils.c +++ b/hpath-posix/cbits/dirutils.c @@ -1,7 +1,7 @@ #include "dirutils.h" + unsigned int __posixdir_d_type(struct dirent* d) { return(d -> d_type); } - diff --git a/hpath-posix/cbits/dirutils.h b/hpath-posix/cbits/dirutils.h index fd93b2e..e2d7498 100644 --- a/hpath-posix/cbits/dirutils.h +++ b/hpath-posix/cbits/dirutils.h @@ -7,7 +7,9 @@ #include #include + extern unsigned int __posixdir_d_type(struct dirent* d) ; + #endif diff --git a/hpath-posix/src/System/Posix/RawFilePath/Directory/Traversals.hs b/hpath-posix/src/System/Posix/RawFilePath/Directory/Traversals.hs index 229c071..bdb3ece 100644 --- a/hpath-posix/src/System/Posix/RawFilePath/Directory/Traversals.hs +++ b/hpath-posix/src/System/Posix/RawFilePath/Directory/Traversals.hs @@ -10,6 +10,7 @@ -- Traversal and read operations on directories. +{-# LANGUAGE CApiFFI #-} {-# LANGUAGE CPP #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE OverloadedStrings #-} @@ -173,11 +174,15 @@ foreign import ccall unsafe "__hscore_d_name" foreign import ccall unsafe "__posixdir_d_type" c_type :: Ptr CDirent -> IO DirType -foreign import ccall "realpath" +foreign import capi "stdlib.h realpath" c_realpath :: CString -> CString -> IO CString -foreign import ccall unsafe "fdopendir" - c_fdopendir :: Posix.Fd -> IO (Ptr ()) +-- Using normal 'ccall' here lead to memory bugs, crashes +-- and corrupted d_name entries. It appears there are two fdopendirs: +-- https://opensource.apple.com/source/Libc/Libc-1244.1.7/include/dirent.h.auto.html +-- The capi call picks the correct one. +foreign import capi unsafe "dirent.h fdopendir" + c_fdopendir :: Posix.Fd -> IO (Ptr CDir) ---------------------------------------------------------- -- less dodgy but still lower-level From 92cc84377d7a5af8ca7f5cdaf3f3af74bfc4857e Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 14 Apr 2020 17:16:21 +0200 Subject: [PATCH 7/9] Fix tests on mac --- hpath-directory/src/System/Posix/RawFilePath/Directory.hs | 2 +- hpath-directory/test/Main.hs | 6 +++++- .../Directory/CopyDirRecursiveCollectFailuresSpec.hs | 2 +- .../RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs | 6 +++--- .../Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs | 2 +- .../System/Posix/RawFilePath/Directory/DeleteFileSpec.hs | 2 +- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/hpath-directory/src/System/Posix/RawFilePath/Directory.hs b/hpath-directory/src/System/Posix/RawFilePath/Directory.hs index 152cdcc..6152db3 100644 --- a/hpath-directory/src/System/Posix/RawFilePath/Directory.hs +++ b/hpath-directory/src/System/Posix/RawFilePath/Directory.hs @@ -564,7 +564,7 @@ easyCopy from to cm rm = do -- -- Throws: -- --- - `InappropriateType` for wrong file type (directory) +-- - `InappropriateType` or `PermissionDenied` for wrong file type (directory) -- - `NoSuchThing` if the file does not exist -- - `PermissionDenied` if the directory cannot be read -- diff --git a/hpath-directory/test/Main.hs b/hpath-directory/test/Main.hs index 15a1aa2..7a71eac 100644 --- a/hpath-directory/test/Main.hs +++ b/hpath-directory/test/Main.hs @@ -8,6 +8,9 @@ import Test.Hspec.Formatters import qualified Spec import Utils import System.Posix.Temp.ByteString (mkdtemp) +import System.Posix.Env.ByteString (getEnvDefault) +import System.Posix.FilePath (()) +import "hpath-directory" System.Posix.RawFilePath.Directory -- TODO: chardev, blockdev, namedpipe, socket @@ -15,7 +18,8 @@ import System.Posix.Temp.ByteString (mkdtemp) main :: IO () main = do - tmpBase <- mkdtemp "/tmp/" + tmpdir <- getEnvDefault "TMPDIR" "/tmp" >>= canonicalizePath + tmpBase <- mkdtemp (tmpdir "hpath-directory") writeIORef baseTmpDir (Just (tmpBase `BS.append` "/")) putStrLn $ ("Temporary test directory at: " ++ show tmpBase) hspecWith diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs index 295cff1..6086dd2 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs @@ -125,7 +125,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "outputDir" Strict CollectFailures - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "outputDir" ++ " >/dev/null") diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs index a53bff9..9a66a60 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs @@ -104,7 +104,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "outputDir" Overwrite FailEarly - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "outputDir" ++ " >/dev/null") @@ -113,7 +113,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ it "copyDirRecursive (Overwrite, FailEarly), destination dir already exists" $ do tmpDir' <- getRawTmpDir - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "alreadyExistsD" ++ " >/dev/null") @@ -122,7 +122,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "alreadyExistsD" Overwrite FailEarly - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "alreadyExistsD" ++ " >/dev/null") diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs index 73fca0b..6ab6526 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs @@ -89,7 +89,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "outputDir" Strict FailEarly - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "outputDir" ++ " >/dev/null") diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs index c6aee98..0a15e71 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs @@ -70,7 +70,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ it "deleteFile, wrong file type (directory)" $ deleteFile' "dir" `shouldThrow` - (\e -> ioeGetErrorType e == InappropriateType) + (\e -> ioeGetErrorType e == InappropriateType || ioeGetErrorType e == PermissionDenied) it "deleteFile, file does not exist" $ deleteFile' "doesNotExist" From 572fbfa59a3d40d102768a93ecfbad690a7e5526 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 14 Apr 2020 22:40:51 +0200 Subject: [PATCH 8/9] Release hpath-posix-0.13.2 --- hpath-posix/CHANGELOG.md | 4 ++++ hpath-posix/hpath-posix.cabal | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hpath-posix/CHANGELOG.md b/hpath-posix/CHANGELOG.md index 96bfaa4..5d6f520 100644 --- a/hpath-posix/CHANGELOG.md +++ b/hpath-posix/CHANGELOG.md @@ -1,5 +1,9 @@ # Revision history for hpath-posix +## 0.13.2 -- 2020-04-14 + +* fix macOS compatibility, especially with memory bug in `fdopendir` + ## 0.13.1 -- 2020-02-08 * Remove unnecessary dependencies diff --git a/hpath-posix/hpath-posix.cabal b/hpath-posix/hpath-posix.cabal index c80a804..e0d7702 100644 --- a/hpath-posix/hpath-posix.cabal +++ b/hpath-posix/hpath-posix.cabal @@ -1,7 +1,7 @@ cabal-version: >=1.10 name: hpath-posix -version: 0.13.1 +version: 0.13.2 synopsis: Some low-level POSIX glue code, that is not in 'unix' homepage: https://github.com/hasufell/hpath bug-reports: https://github.com/hasufell/hpath/issues From 54bea3b9c213c6c3b3f0fd57914b8a763cf51997 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 14 Apr 2020 22:45:25 +0200 Subject: [PATCH 9/9] Update travis --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 36fbdc9..9ec3d8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,8 +32,8 @@ matrix: before_install: - sudo apt-get install -y hscolour - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH - - env: CABALVER=3.0 GHCVER=8.8.1 - addons: {apt: {packages: [cabal-install-3.0,ghc-8.8.1], sources: [hvr-ghc]}} + - env: CABALVER=3.0 GHCVER=8.8.3 + addons: {apt: {packages: [cabal-install-3.0,ghc-8.8.3], sources: [hvr-ghc]}} before_install: - sudo apt-get install -y hscolour - export PATH=~/.cabal/bin:/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH @@ -52,7 +52,7 @@ matrix: - export PATH=~/.cabal/bin:~/.ghcup/bin:$PATH - ghcup install 8.6.5 - ghcup set 8.6.5 - - ghcup install-cabal + - ghcup install-cabal 3.2.0.0 allow_failures: - env: CABALVER=head GHCVER=head