Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
clinty committed Nov 12, 2024
1 parent e494e29 commit 7460ed7
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
10 changes: 9 additions & 1 deletion src/Debian/Debianize/Finalize.hs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ import System.FilePath ((<.>), (</>), makeRelative, splitFileName, takeDirectory
import System.IO (hPutStrLn, stderr)
import Text.Parsec.Rfc2822 (NameAddr(..))
import Distribution.Pretty (Pretty(pretty))
#if MIN_VERSION_Cabal(3,14,0)
import Distribution.Utils.Path (interpretSymbolicPath)
#endif

-- | @debianize customize@ initializes the CabalT state from the
-- environment and the cabal package description in (and possibly the
Expand Down Expand Up @@ -582,7 +585,12 @@ makeUtilsPackage pkgDesc hc =
installedExec = Set.unions (Map.elems installedExecMap)

prefixPath <- dataTop
let dataFilePaths = Set.fromList (zip (List.map (prefixPath </>) (Cabal.dataFiles pkgDesc)) (Cabal.dataFiles pkgDesc)) :: Set (FilePath, FilePath)
#if MIN_VERSION_Cabal(3,14,0)
let dFpD = List.map interpretSymbolicPath (Cabal.dataFiles pkgDesc)
#else
let dFpD = Cabal.dataFiles pkgDesc
#endif
dataFilePaths = Set.fromList (zip (List.map (prefixPath </>) dFpD) dFpD) :: Set (FilePath, FilePath)
execFilePaths :: Set FilePath
execFilePaths = Set.map (unUnqualComponentName . Cabal.exeName) (Set.filter (Cabal.buildable . Cabal.buildInfo) (Set.fromList (Cabal.executables pkgDesc))) :: Set FilePath
let availableData = Set.union installedData dataFilePaths
Expand Down
3 changes: 2 additions & 1 deletion src/Debian/Debianize/InputCabal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import Distribution.PackageDescription.Parsec (readGenericPackageDescription)
import Distribution.Types.ComponentRequestedSpec (ComponentRequestedSpec(ComponentRequestedSpec))
#if MIN_VERSION_Cabal(3,14,0)
import Distribution.Simple.Utils (defaultPackageDescCwd, die', setupMessage)
import Distribution.Utils.Path (relativeSymbolicPath)
#else
import Distribution.Simple.Utils (defaultPackageDesc, die', setupMessage)
#endif
Expand Down Expand Up @@ -59,7 +60,7 @@ inputCabalization flags =
-- and from that create a finalized PackageDescription for the
-- given CompilerId.
#if MIN_VERSION_Cabal(3,14,0)
genPkgDesc <- liftIO $ defaultPackageDescCwd vb >>= readGenericPackageDescription vb None
genPkgDesc <- liftIO $ defaultPackageDescCwd vb >>= readGenericPackageDescription vb Nothing . relativeSymbolicPath
#else
genPkgDesc <- liftIO $ defaultPackageDesc vb >>= readGenericPackageDescription vb
#endif
Expand Down
8 changes: 8 additions & 0 deletions src/Debian/Debianize/InputDebian.hs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- | Read an existing Debianization from a directory file.
{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, ScopedTypeVariables, TypeSynonymInstances #-}
{-# OPTIONS_GHC -Wall -fno-warn-orphans #-}
module Debian.Debianize.InputDebian
Expand Down Expand Up @@ -38,6 +39,9 @@ import Debian.Relation (BinPkgName(..), parseRelations, Relations, SrcPkgName(..
--import Debug.Trace (trace)
import Distribution.Package (PackageIdentifier(..), unPackageName)
import qualified Distribution.PackageDescription as Cabal (dataDir, PackageDescription(package))
#if MIN_VERSION_Cabal(3,14,0)
import Distribution.Utils.Path (interpretSymbolicPath)
#endif
import Prelude hiding (break, lines, log, null, readFile, sum, words)
import System.Directory (doesFileExist)
import System.FilePath ((</>), dropExtension, takeExtension)
Expand Down Expand Up @@ -298,6 +302,10 @@ dataDest = do
dataTop :: Monad m => CabalT m FilePath
dataTop = do
d <- use packageDescription
#if MIN_VERSION_Cabal(3,14,0)
return $ case interpretSymbolicPath Nothing (Cabal.dataDir d) of
#else
return $ case Cabal.dataDir d of
#endif
"" -> "."
x -> x

0 comments on commit 7460ed7

Please sign in to comment.