Hello community, here is the log from the commit of package ghc-path for openSUSE:Factory checked in at 2015-12-01 09:19:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-path (Old) and /work/SRC/openSUSE:Factory/.ghc-path.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-path" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-path/ghc-path.changes 2015-11-26 17:02:52.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-path.new/ghc-path.changes 2015-12-01 09:19:33.000000000 +0100 @@ -1,0 +2,6 @@ +Sun Nov 29 17:31:30 UTC 2015 - mimi.vx@gmail.com + +- update to 0.5.3 +* Added conversion functions. + +------------------------------------------------------------------- Old: ---- path-0.5.2.tar.gz New: ---- path-0.5.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-path.spec ++++++ --- /var/tmp/diff_new_pack.xByP9n/_old 2015-12-01 09:19:33.000000000 +0100 +++ /var/tmp/diff_new_pack.xByP9n/_new 2015-12-01 09:19:33.000000000 +0100 @@ -15,17 +15,18 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + %global pkg_name path %bcond_with tests Name: ghc-path -Version: 0.5.2 +Version: 0.5.3 Release: 0 Summary: Path +License: BSD-3-Clause Group: System/Libraries -License: BSD-3-Clause Url: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -62,37 +63,29 @@ %prep %setup -q -n %{pkg_name}-%{version} - %build %ghc_lib_build - %install %ghc_lib_install - %check %if %{with tests} %cabal test %endif - %post devel %ghc_pkg_recache - %postun devel %ghc_pkg_recache - %files -f %{name}.files %defattr(-,root,root,-) %doc LICENSE - %files devel -f %{name}-devel.files %defattr(-,root,root,-) %doc README.md - %changelog ++++++ path-0.5.2.tar.gz -> path-0.5.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-0.5.2/CHANGELOG new/path-0.5.3/CHANGELOG --- old/path-0.5.2/CHANGELOG 2015-06-21 12:19:30.000000000 +0200 +++ new/path-0.5.3/CHANGELOG 2015-11-21 19:54:50.000000000 +0100 @@ -1,3 +1,6 @@ +0.5.3: + * Added conversion functions. + 0.2.0: * Rename parentAbs to simply parent. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-0.5.2/path.cabal new/path-0.5.3/path.cabal --- old/path-0.5.2/path.cabal 2015-06-21 12:19:30.000000000 +0200 +++ new/path-0.5.3/path.cabal 2015-11-21 19:54:19.000000000 +0100 @@ -1,5 +1,5 @@ name: path -version: 0.5.2 +version: 0.5.3 synopsis: Path description: Path license: BSD3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-0.5.2/src/Path/Internal.hs new/path-0.5.3/src/Path/Internal.hs --- old/path-0.5.2/src/Path/Internal.hs 2015-06-21 12:19:30.000000000 +0200 +++ new/path-0.5.3/src/Path/Internal.hs 2015-11-21 19:53:42.000000000 +0100 @@ -1,6 +1,4 @@ -{-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE GeneralizedNewtypeDeriving #-} -- | Internal types and functions. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-0.5.2/src/Path.hs new/path-0.5.3/src/Path.hs --- old/path-0.5.2/src/Path.hs 2015-06-21 12:19:30.000000000 +0200 +++ new/path-0.5.3/src/Path.hs 2015-11-21 19:53:42.000000000 +0100 @@ -31,6 +31,10 @@ ,dirname -- * Conversion ,toFilePath + ,fromAbsDir + ,fromRelDir + ,fromAbsFile + ,fromRelFile ) where @@ -81,7 +85,7 @@ parseAbsDir filepath = if FilePath.isAbsolute filepath && not (null (normalizeDir filepath)) && - not (isPrefixOf "~/" filepath) && + not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) then return (Path (normalizeDir filepath)) else throwM (InvalidAbsDir filepath) @@ -96,7 +100,7 @@ parseRelDir filepath = if not (FilePath.isAbsolute filepath) && not (null filepath) && - not (isPrefixOf "~/" filepath) && + not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) && not (null (normalizeDir filepath)) && filepath /= ".." @@ -112,7 +116,7 @@ parseAbsFile filepath = if FilePath.isAbsolute filepath && not (FilePath.hasTrailingPathSeparator filepath) && - not (isPrefixOf "~/" filepath) && + not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) && not (null (normalizeFile filepath)) && filepath /= ".." @@ -129,7 +133,7 @@ if not (FilePath.isAbsolute filepath || FilePath.hasTrailingPathSeparator filepath) && not (null filepath) && - not (isPrefixOf "~/" filepath) && + not ("~/" `isPrefixOf` filepath) && not (hasParentDir filepath) && not (null (normalizeFile filepath)) && filepath /= ".." @@ -140,9 +144,9 @@ -- This handles the logic of checking for different path separators on Windows. hasParentDir :: FilePath -> Bool hasParentDir filepath' = - (isSuffixOf "/.." filepath) || - (isInfixOf "/../" filepath) || - (isPrefixOf "../" filepath) + ("/.." `isSuffixOf` filepath) || + ("/../" `isInfixOf` filepath) || + ("../" `isPrefixOf` filepath) where filepath = case FilePath.pathSeparator of @@ -203,6 +207,22 @@ toFilePath :: Path b t -> FilePath toFilePath (Path l) = l +-- | Convert absolute path to directory to 'FilePath' type. +fromAbsDir :: Path Abs Dir -> FilePath +fromAbsDir = toFilePath + +-- | Convert relative path to directory to 'FilePath' type. +fromRelDir :: Path Rel Dir -> FilePath +fromRelDir = toFilePath + +-- | Convert absolute path to file to 'FilePath' type. +fromAbsFile :: Path Abs File -> FilePath +fromAbsFile = toFilePath + +-- | Convert relative path to file to 'FilePath' type. +fromRelFile :: Path Rel File -> FilePath +fromRelFile = toFilePath + -------------------------------------------------------------------------------- -- Operations @@ -236,7 +256,7 @@ -- -- The following properties hold: -- --- @stripDir parent (parent \<\/> child) = child@ +-- @stripDir x (x \<\/> y) = y@ -- -- Cases which are proven not possible: -- @@ -266,7 +286,7 @@ -- -- The following properties hold: -- --- @parent (parent \<\/> child) == parent@ +-- @parent (x \<\/> y) == x@ -- -- On the root, getting the parent is idempotent: -- @@ -280,7 +300,7 @@ -- -- The following properties hold: -- --- @filename (parent \<\/> filename a) == a@ +-- @filename (p \<\/> a) == filename a@ -- filename :: Path b File -> Path Rel File filename (Path l) = @@ -290,7 +310,7 @@ -- -- The following properties hold: -- --- @dirname (parent \<\/> dirname a) == a@ +-- @dirname (p \<\/> a) == dirname a@ -- dirname :: Path b Dir -> Path Rel Dir dirname (Path l) = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/path-0.5.2/test/Main.hs new/path-0.5.3/test/Main.hs --- old/path-0.5.2/test/Main.hs 2015-06-21 12:19:30.000000000 +0200 +++ new/path-0.5.3/test/Main.hs 2015-11-21 19:53:42.000000000 +0100 @@ -46,7 +46,7 @@ (isNothing (void (parseAbsDir x) <|> void (parseRelDir x) <|> void (parseAbsFile x) <|> - void (parseRelDir x))) + void (parseRelFile x))) -- | The 'filename' operation. operationFilename :: Spec