@@ -51,8 +51,9 @@ mkTools tools' = filter excludedTools $ nub $ map mapTools tools'
5151
5252createSpecFile :: FilePath -> PackageDescription -> ForceBinary -> RunTests -> FlagAssignment -> Maybe CopyrightYear -> IO ()
5353createSpecFile specFile pkgDesc forceBinary runTests flagAssignment copyrightYear = do
54- let deps :: [String ]
55- deps = map showDevelDep deps' ++ map showProfDep deps'
54+ let develDeps, profDeps :: [String ]
55+ develDeps = map showDevelDep deps'
56+ profDeps = map showProfDep deps'
5657 deps' :: [String ]
5758 selfdep :: Bool
5859 (deps', selfdep) = buildDependencies pkgDesc name
@@ -153,14 +154,18 @@ createSpecFile specFile pkgDesc forceBinary runTests flagAssignment copyrightYea
153154 putHdr " ExcludeArch" " %{ix86}"
154155
155156 let fixedDeps = [" ghc-Cabal-devel" , " ghc-rpm-macros" ]
156- let alldeps = sort $ nub $ fixedDeps ++ deps ++ tools ++ clibs ++ pkgcfgs ++ [" pkgconfig" | not (null pkgcfgs)]
157- let extraTestDeps = sort $ testsuiteDeps \\ deps
158- unless (null $ alldeps ++ extraTestDeps) $ do
159- mapM_ (putHdr " BuildRequires" ) alldeps
160- unless (null extraTestDeps) $ do
161- put " %if %{with tests}"
162- mapM_ (putHdr " BuildRequires" ) extraTestDeps
163- put " %endif"
157+ let unconditialDeps = sort $ nub $ fixedDeps ++ develDeps ++ tools ++ clibs ++ pkgcfgs ++ [" pkgconfig" | not (null pkgcfgs)]
158+ let extraTestDeps = sort $ testsuiteDeps \\ (develDeps ++ profDeps)
159+
160+ mapM_ (putHdr " BuildRequires" ) unconditialDeps
161+ unless (null profDeps) $ do
162+ put " %if %{with ghc_prof}"
163+ mapM_ (putHdr " BuildRequires" ) profDeps
164+ put " %endif"
165+ unless (null extraTestDeps) $ do
166+ put " %if %{with tests}"
167+ mapM_ (putHdr " BuildRequires" ) extraTestDeps
168+ put " %endif"
164169
165170 putNewline
166171
@@ -197,13 +202,15 @@ createSpecFile specFile pkgDesc forceBinary runTests flagAssignment copyrightYea
197202 , " This package provides the Haskell %{pkg_name} library documentation."
198203 , " "
199204 , " "
205+ , " %if %{with ghc_prof}"
200206 , " %package -n ghc-%{pkg_name}-prof"
201207 , " Summary: Haskell %{pkg_name} profiling library"
202208 , " Requires: ghc-%{pkg_name}-devel = %{version}-%{release}"
203209 , " Supplements: (ghc-%{pkg_name}-devel and ghc-prof)"
204210 , " "
205211 , " %description -n ghc-%{pkg_name}-prof"
206212 , " This package provides the Haskell %{pkg_name} profiling library."
213+ , " %endif"
207214 , " "
208215 ]
209216
@@ -293,7 +300,9 @@ createSpecFile specFile pkgDesc forceBinary runTests flagAssignment copyrightYea
293300 put " %files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files"
294301 mapM_ (\ l -> put $ license_macro +-+ l) licensefiles
295302 putNewline
303+ put " %if %{with ghc_prof}"
296304 put " %files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files"
305+ put " %endif"
297306 putNewline
298307
299308 put " %changelog"
0 commit comments