Hello community, here is the log from the commit of package ghc-hse-cpp for openSUSE:Factory checked in at 2017-03-24 02:18:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-hse-cpp (Old) and /work/SRC/openSUSE:Factory/.ghc-hse-cpp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hse-cpp" Fri Mar 24 02:18:17 2017 rev:2 rq:479409 version:0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-hse-cpp/ghc-hse-cpp.changes 2017-03-08 01:02:15.726125293 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-hse-cpp.new/ghc-hse-cpp.changes 2017-03-24 02:18:18.344494595 +0100 @@ -1,0 +2,5 @@ +Sun Feb 12 14:20:20 UTC 2017 - [email protected] + +- Update to version 0.2 with cabal2obs. + +------------------------------------------------------------------- Old: ---- 1.cabal hse-cpp-0.1.tar.gz New: ---- hse-cpp-0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-hse-cpp.spec ++++++ --- /var/tmp/diff_new_pack.mrbB6r/_old 2017-03-24 02:18:18.860421595 +0100 +++ /var/tmp/diff_new_pack.mrbB6r/_new 2017-03-24 02:18:18.864421029 +0100 @@ -1,7 +1,7 @@ # # spec file for package ghc-hse-cpp # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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 @@ -18,14 +18,13 @@ %global pkg_name hse-cpp Name: ghc-%{pkg_name} -Version: 0.1 +Version: 0.2 Release: 0 Summary: Preprocess+parse haskell code License: MIT Group: Development/Languages/Other 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/1.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-cpphs-devel BuildRequires: ghc-haskell-src-exts-devel @@ -48,7 +47,6 @@ %prep %setup -q -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ hse-cpp-0.1.tar.gz -> hse-cpp-0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hse-cpp-0.1/Language/Haskell/Exts/Annotated/CPP.hs new/hse-cpp-0.2/Language/Haskell/Exts/Annotated/CPP.hs --- old/hse-cpp-0.1/Language/Haskell/Exts/Annotated/CPP.hs 2013-05-21 08:49:23.000000000 +0200 +++ new/hse-cpp-0.2/Language/Haskell/Exts/Annotated/CPP.hs 1970-01-01 01:00:00.000000000 +0100 @@ -1,66 +0,0 @@ -module Language.Haskell.Exts.Annotated.CPP - ( parseFileWithCommentsAndCPP - , parseFileContentsWithCommentsAndCPP - , defaultCpphsOptions - , CpphsOptions(..) - , BoolOptions(..) - ) where - -import qualified Language.Preprocessor.Cpphs as Orig -import Language.Preprocessor.Cpphs hiding (defaultCpphsOptions) -import Language.Preprocessor.Unlit -import Language.Haskell.Exts (ParseMode(..)) -import Language.Haskell.Exts.Annotated -import Control.Applicative -import Data.List - -parseFileWithCommentsAndCPP :: CpphsOptions -> ParseMode -> FilePath - -> IO (ParseResult (Module SrcSpanInfo, [Comment])) -parseFileWithCommentsAndCPP cppopts parseMode0 file = do - content <- readFile file - parseFileContentsWithCommentsAndCPP cppopts parseMode content - where - parseMode = parseMode0 { parseFilename = file } - -parseFileContentsWithCommentsAndCPP - :: CpphsOptions -> ParseMode -> String - -> IO (ParseResult (Module SrcSpanInfo, [Comment])) -parseFileContentsWithCommentsAndCPP cppopts p rawStr = do - let filename = parseFilename p - md = delit filename rawStr - cppMode = updateExtensions p md - processedSrc <- cpp cppopts cppMode md - let finalMode = updateExtensions cppMode processedSrc - return $ parseModuleWithComments finalMode processedSrc - -updateExtensions :: ParseMode -> String -> ParseMode -updateExtensions p mod = - let oldLang = baseLanguage p - exts = extensions p - (bLang, extraExts) = - case (ignoreLanguagePragmas p, readExtensions mod) of - (False, Just (mLang, es)) -> - (case mLang of {Nothing -> oldLang;Just newLang -> newLang}, es) - _ -> (oldLang, []) - in p { extensions = exts ++ extraExts - , ignoreLanguagePragmas = False - , baseLanguage = bLang - } - -cpp cppopts p str - | CPP `elem` impliesExts (toExtensionList (baseLanguage p) (extensions p)) - = runCpphs cppopts (parseFilename p) str - | otherwise = return str - -delit :: String -> String -> String -delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id - -defaultCpphsOptions = - Orig.defaultCpphsOptions - { boolopts = (boolopts Orig.defaultCpphsOptions) - { locations = True - , stripC89 = True - , stripEol = False - , hashline = False - } - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hse-cpp-0.1/Language/Haskell/Exts/CPP.hs new/hse-cpp-0.2/Language/Haskell/Exts/CPP.hs --- old/hse-cpp-0.1/Language/Haskell/Exts/CPP.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/hse-cpp-0.2/Language/Haskell/Exts/CPP.hs 2016-10-06 19:11:42.000000000 +0200 @@ -0,0 +1,65 @@ +module Language.Haskell.Exts.CPP + ( parseFileWithCommentsAndCPP + , parseFileContentsWithCommentsAndCPP + , defaultCpphsOptions + , CpphsOptions(..) + , BoolOptions(..) + ) where + +import qualified Language.Preprocessor.Cpphs as Orig +import Language.Preprocessor.Cpphs hiding (defaultCpphsOptions) +import Language.Preprocessor.Unlit +import Language.Haskell.Exts +import Control.Applicative +import Data.List + +parseFileWithCommentsAndCPP :: CpphsOptions -> ParseMode -> FilePath + -> IO (ParseResult (Module SrcSpanInfo, [Comment])) +parseFileWithCommentsAndCPP cppopts parseMode0 file = do + content <- readFile file + parseFileContentsWithCommentsAndCPP cppopts parseMode content + where + parseMode = parseMode0 { parseFilename = file } + +parseFileContentsWithCommentsAndCPP + :: CpphsOptions -> ParseMode -> String + -> IO (ParseResult (Module SrcSpanInfo, [Comment])) +parseFileContentsWithCommentsAndCPP cppopts p rawStr = do + let filename = parseFilename p + md = delit filename rawStr + cppMode = updateExtensions p md + processedSrc <- cpp cppopts cppMode md + let finalMode = updateExtensions cppMode processedSrc + return $ parseModuleWithComments finalMode processedSrc + +updateExtensions :: ParseMode -> String -> ParseMode +updateExtensions p mod = + let oldLang = baseLanguage p + exts = extensions p + (bLang, extraExts) = + case (ignoreLanguagePragmas p, readExtensions mod) of + (False, Just (mLang, es)) -> + (case mLang of {Nothing -> oldLang;Just newLang -> newLang}, es) + _ -> (oldLang, []) + in p { extensions = exts ++ extraExts + , ignoreLanguagePragmas = False + , baseLanguage = bLang + } + +cpp cppopts p str + | CPP `elem` impliesExts (toExtensionList (baseLanguage p) (extensions p)) + = runCpphs cppopts (parseFilename p) str + | otherwise = return str + +delit :: String -> String -> String +delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id + +defaultCpphsOptions = + Orig.defaultCpphsOptions + { boolopts = (boolopts Orig.defaultCpphsOptions) + { locations = True + , stripC89 = True + , stripEol = False + , hashline = False + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hse-cpp-0.1/hse-cpp.cabal new/hse-cpp-0.2/hse-cpp.cabal --- old/hse-cpp-0.1/hse-cpp.cabal 2013-05-21 08:49:23.000000000 +0200 +++ new/hse-cpp-0.2/hse-cpp.cabal 2016-10-06 19:11:42.000000000 +0200 @@ -1,23 +1,23 @@ --- Initial hse-cpp.cabal generated by cabal init. For further +-- Initial hse-cpp.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ name: hse-cpp -version: 0.1 +version: 0.2 synopsis: Preprocess+parse haskell code --- description: +-- description: license: MIT license-file: LICENSE author: Roman Cheplyaka maintainer: Roman Cheplyaka <[email protected]> --- copyright: +-- copyright: category: Language build-type: Simple cabal-version: >=1.10 library - exposed-modules: Language.Haskell.Exts.Annotated.CPP - -- other-modules: + exposed-modules: Language.Haskell.Exts.CPP + -- other-modules: build-depends: base == 4.* , cpphs - , haskell-src-exts >= 1.14 + , haskell-src-exts >= 1.18 default-language: Haskell2010
