Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
C
Cabal
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Glasgow Haskell Compiler
Packages
Cabal
Commits
8f0ffb7d
Unverified
Commit
8f0ffb7d
authored
Jun 18, 2020
by
Oleg Grenrus
Committed by
GitHub
Jun 18, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6915 from phadej/sourcepackage-field-rename
Rename fields in SourcePackage
parents
10e61fc7
52fb4ccc
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
98 additions
and
98 deletions
+98
-98
cabal-install/Distribution/Client/BuildReports/Storage.hs
cabal-install/Distribution/Client/BuildReports/Storage.hs
+1
-1
cabal-install/Distribution/Client/CmdInstall.hs
cabal-install/Distribution/Client/CmdInstall.hs
+3
-3
cabal-install/Distribution/Client/CmdRepl.hs
cabal-install/Distribution/Client/CmdRepl.hs
+6
-6
cabal-install/Distribution/Client/CmdRun.hs
cabal-install/Distribution/Client/CmdRun.hs
+4
-4
cabal-install/Distribution/Client/CmdSdist.hs
cabal-install/Distribution/Client/CmdSdist.hs
+2
-2
cabal-install/Distribution/Client/Configure.hs
cabal-install/Distribution/Client/Configure.hs
+6
-6
cabal-install/Distribution/Client/Dependency.hs
cabal-install/Distribution/Client/Dependency.hs
+8
-9
cabal-install/Distribution/Client/Fetch.hs
cabal-install/Distribution/Client/Fetch.hs
+2
-2
cabal-install/Distribution/Client/Get.hs
cabal-install/Distribution/Client/Get.hs
+3
-3
cabal-install/Distribution/Client/IndexUtils.hs
cabal-install/Distribution/Client/IndexUtils.hs
+7
-7
cabal-install/Distribution/Client/Init/Heuristics.hs
cabal-install/Distribution/Client/Init/Heuristics.hs
+2
-2
cabal-install/Distribution/Client/Install.hs
cabal-install/Distribution/Client/Install.hs
+3
-3
cabal-install/Distribution/Client/InstallSymlink.hs
cabal-install/Distribution/Client/InstallSymlink.hs
+2
-2
cabal-install/Distribution/Client/List.hs
cabal-install/Distribution/Client/List.hs
+2
-2
cabal-install/Distribution/Client/ProjectConfig.hs
cabal-install/Distribution/Client/ProjectConfig.hs
+8
-8
cabal-install/Distribution/Client/ProjectPlanning.hs
cabal-install/Distribution/Client/ProjectPlanning.hs
+5
-5
cabal-install/Distribution/Client/TargetSelector.hs
cabal-install/Distribution/Client/TargetSelector.hs
+2
-2
cabal-install/Distribution/Client/Targets.hs
cabal-install/Distribution/Client/Targets.hs
+12
-12
cabal-install/Distribution/Solver/Types/SourcePackage.hs
cabal-install/Distribution/Solver/Types/SourcePackage.hs
+8
-6
cabal-install/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs
...l/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs
+7
-7
cabal-install/tests/IntegrationTests2.hs
cabal-install/tests/IntegrationTests2.hs
+5
-6
No files found.
cabal-install/Distribution/Client/BuildReports/Storage.hs
View file @
8f0ffb7d
...
...
@@ -148,7 +148,7 @@ fromPlanPackage (Platform arch os) comp
buildResult
,
extractRepo
srcPkg
)
where
extractRepo
(
SourcePackage
{
package
Source
=
RepoTarballPackage
repo
_
_
})
extractRepo
(
SourcePackage
{
srcpkg
Source
=
RepoTarballPackage
repo
_
_
})
=
Just
repo
extractRepo
_
=
Nothing
...
...
cabal-install/Distribution/Client/CmdInstall.hs
View file @
8f0ffb7d
...
...
@@ -443,11 +443,11 @@ getSpecsAndTargetSelectors verbosity reducedVerbosity pkgDb targetSelectors loca
planMap
=
InstallPlan
.
toMap
elaboratedPlan
targetIds
=
Map
.
keys
targets
sdistize
(
SpecificSourcePackage
spkg
@
SourcePackage
{
..
}
)
=
sdistize
(
SpecificSourcePackage
spkg
)
=
SpecificSourcePackage
spkg'
where
sdistPath
=
distSdistFile
localDistDirLayout
packageInfoId
spkg'
=
spkg
{
package
Source
=
LocalTarballPackage
sdistPath
}
sdistPath
=
distSdistFile
localDistDirLayout
(
packageId
spkg
)
spkg'
=
spkg
{
srcpkg
Source
=
LocalTarballPackage
sdistPath
}
sdistize
named
=
named
local
=
sdistize
<$>
localPackages
localBaseCtx
...
...
cabal-install/Distribution/Client/CmdRepl.hs
View file @
8f0ffb7d
...
...
@@ -360,10 +360,10 @@ withoutProject config verbosity extraArgs = do
-- We need to create a dummy package that lives in our dummy project.
let
sourcePackage
=
SourcePackage
{
packageInfoId
=
pkgId
,
package
Description
=
genericPackageDescription
,
package
Source
=
LocalUnpackedPackage
tempDir
,
package
DescrOverride
=
Nothing
{
srcpkgPackageId
=
pkgId
,
srcpkg
Description
=
genericPackageDescription
,
srcpkg
Source
=
LocalUnpackedPackage
tempDir
,
srcpkg
DescrOverride
=
Nothing
}
genericPackageDescription
=
emptyGenericPackageDescription
&
L
.
packageDescription
.~
packageDescription
...
...
@@ -414,8 +414,8 @@ addDepsToProjectTarget deps pkgId ctx =
addDeps
(
SpecificSourcePackage
pkg
)
|
packageId
pkg
/=
pkgId
=
SpecificSourcePackage
pkg
|
SourcePackage
{
..
}
<-
pkg
=
SpecificSourcePackage
$
pkg
{
package
Description
=
package
Description
&
(
\
f
->
L
.
allCondTrees
$
traverseCondTreeC
f
)
SpecificSourcePackage
$
pkg
{
srcpkg
Description
=
srcpkg
Description
&
(
\
f
->
L
.
allCondTrees
$
traverseCondTreeC
f
)
%~
(
deps
++
)
}
addDeps
spec
=
spec
...
...
cabal-install/Distribution/Client/CmdRun.hs
View file @
8f0ffb7d
...
...
@@ -406,10 +406,10 @@ handleScriptCase verbosity pol baseCtx tmpDir scriptContents = do
LiterateHaskell
->
"Main.lhs"
sourcePackage
=
SourcePackage
{
packageInfoId
=
pkgId
,
SP
.
packageDescription
=
genericPackageDescription
,
package
Source
=
LocalUnpackedPackage
tmpDir
,
package
DescrOverride
=
Nothing
{
srcpkgPackageId
=
pkgId
,
srcpkgDescription
=
genericPackageDescription
,
srcpkg
Source
=
LocalUnpackedPackage
tmpDir
,
srcpkg
DescrOverride
=
Nothing
}
genericPackageDescription
=
emptyGenericPackageDescription
{
GPD
.
packageDescription
=
packageDescription
...
...
cabal-install/Distribution/Client/CmdSdist.hs
View file @
8f0ffb7d
...
...
@@ -228,7 +228,7 @@ data OutputFormat = SourceList Char
packageToSdist
::
Verbosity
->
FilePath
->
OutputFormat
->
FilePath
->
UnresolvedSourcePackage
->
IO
()
packageToSdist
verbosity
projectRootDir
format
outputFile
pkg
=
do
let
death
=
die'
verbosity
(
"The impossible happened: a local package isn't local"
<>
(
show
pkg
))
dir0
<-
case
package
Source
pkg
of
dir0
<-
case
srcpkg
Source
pkg
of
LocalUnpackedPackage
path
->
pure
(
Right
path
)
RemoteSourceRepoPackage
_
(
Just
path
)
->
pure
(
Right
path
)
RemoteSourceRepoPackage
{}
->
death
...
...
@@ -256,7 +256,7 @@ packageToSdist verbosity projectRootDir format outputFile pkg = do
_
->
die'
verbosity
(
"cannot convert tarball package to "
++
show
format
)
Right
dir
->
do
files'
<-
listPackageSources
verbosity
dir
(
flattenPackageDescription
$
package
Description
pkg
)
knownSuffixHandlers
files'
<-
listPackageSources
verbosity
dir
(
flattenPackageDescription
$
srcpkg
Description
pkg
)
knownSuffixHandlers
let
files
=
nub
$
sort
$
map
normalise
files'
case
format
of
...
...
cabal-install/Distribution/Client/Configure.hs
View file @
8f0ffb7d
...
...
@@ -238,7 +238,7 @@ configureSetupScript packageDBs
maybeSetupBuildInfo
::
Maybe
PkgDesc
.
SetupBuildInfo
maybeSetupBuildInfo
=
do
ReadyPackage
cpkg
<-
mpkg
let
gpkg
=
package
Description
(
confPkgSource
cpkg
)
let
gpkg
=
srcpkg
Description
(
confPkgSource
cpkg
)
PkgDesc
.
setupBuildInfo
(
PkgDesc
.
packageDescription
gpkg
)
-- Was a default 'custom-setup' stanza added by 'cabal-install' itself? If
...
...
@@ -305,10 +305,10 @@ planLocalPackage verbosity comp platform configFlags configExFlags
let
-- We create a local package and ask to resolve a dependency on it
localPkg
=
SourcePackage
{
packageInfoId
=
packageId
pkg
,
package
Description
=
pkg
,
package
Source
=
LocalUnpackedPackage
"."
,
package
DescrOverride
=
Nothing
srcpkgPackageId
=
packageId
pkg
,
srcpkg
Description
=
pkg
,
srcpkg
Source
=
LocalUnpackedPackage
"."
,
srcpkg
DescrOverride
=
Nothing
}
testsEnabled
=
fromFlagOrDefault
False
$
configTests
configFlags
...
...
@@ -392,7 +392,7 @@ configurePackage verbosity platform comp scriptOptions configFlags
scriptOptions
(
Just
pkg
)
configureCommand
configureFlags
(
const
extraArgs
)
where
gpkg
=
package
Description
spkg
gpkg
=
srcpkg
Description
spkg
configureFlags
=
filterConfigureFlags
configFlags
{
configIPID
=
if
isJust
(
flagToMaybe
(
configIPID
configFlags
))
-- Make sure cabal configure --ipid works.
...
...
cabal-install/Distribution/Client/Dependency.hs
View file @
8f0ffb7d
...
...
@@ -466,9 +466,8 @@ removeBounds relKind relDeps params =
sourcePkgIndex'
=
fmap
relaxDeps
$
depResolverSourcePkgIndex
params
relaxDeps
::
UnresolvedSourcePackage
->
UnresolvedSourcePackage
relaxDeps
srcPkg
=
srcPkg
{
packageDescription
=
relaxPackageDeps
relKind
relDeps
(
packageDescription
srcPkg
)
relaxDeps
srcPkg
=
srcPkg
{
srcpkgDescription
=
relaxPackageDeps
relKind
relDeps
(
srcpkgDescription
srcPkg
)
}
-- | Relax the dependencies of this package if needed.
...
...
@@ -543,7 +542,7 @@ addDefaultSetupDependencies defaultSetupDeps params =
applyDefaultSetupDeps
::
UnresolvedSourcePackage
->
UnresolvedSourcePackage
applyDefaultSetupDeps
srcpkg
=
srcpkg
{
package
Description
=
gpkgdesc
{
srcpkg
Description
=
gpkgdesc
{
PD
.
packageDescription
=
pkgdesc
{
PD
.
setupBuildInfo
=
case
PD
.
setupBuildInfo
pkgdesc
of
...
...
@@ -560,7 +559,7 @@ addDefaultSetupDependencies defaultSetupDeps params =
}
where
isCustom
=
PD
.
buildType
pkgdesc
==
PD
.
Custom
gpkgdesc
=
package
Description
srcpkg
gpkgdesc
=
srcpkg
Description
srcpkg
pkgdesc
=
PD
.
packageDescription
gpkgdesc
-- | If a package has a custom setup then we need to add a setup-depends
...
...
@@ -656,7 +655,7 @@ standardInstallPolicy installedPkgIndex sourcePkgDb pkgSpecifiers
Just
[
Dependency
(
mkPackageName
"Cabal"
)
(
orLaterVersion
$
mkVersion
[
1
,
24
])
mainLibSet
]
|
otherwise
=
Nothing
where
gpkgdesc
=
package
Description
srcpkg
gpkgdesc
=
srcpkg
Description
srcpkg
pkgdesc
=
PD
.
packageDescription
gpkgdesc
bt
=
PD
.
buildType
pkgdesc
affected
=
bt
==
PD
.
Custom
&&
hasBuildableFalse
gpkgdesc
...
...
@@ -902,7 +901,7 @@ configuredPackageProblems platform cinfo
,
not
(
packageSatisfiesDependency
pkgid
dep
)
]
-- TODO: sanity tests on executable deps
where
thisPkgName
=
packageName
(
package
Description
pkg
)
thisPkgName
=
packageName
(
srcpkg
Description
pkg
)
specifiedDeps1
::
ComponentDeps
[
PackageId
]
specifiedDeps1
=
fmap
(
map
solverSrcId
)
specifiedDeps0
...
...
@@ -911,7 +910,7 @@ configuredPackageProblems platform cinfo
specifiedDeps
=
CD
.
flatDeps
specifiedDeps1
mergedFlags
=
mergeBy
compare
(
sort
$
map
PD
.
flagName
(
PD
.
genPackageFlags
(
package
Description
pkg
)))
(
sort
$
map
PD
.
flagName
(
PD
.
genPackageFlags
(
srcpkg
Description
pkg
)))
(
sort
$
map
fst
(
PD
.
unFlagAssignment
specifiedFlags
))
-- TODO
packageSatisfiesDependency
...
...
@@ -948,7 +947,7 @@ configuredPackageProblems platform cinfo
(
const
True
)
platform
cinfo
[]
(
package
Description
pkg
)
of
(
srcpkg
Description
pkg
)
of
Right
(
resolvedPkg
,
_
)
->
-- we filter self/internal dependencies. They are still there.
-- This is INCORRECT.
...
...
cabal-install/Distribution/Client/Fetch.hs
View file @
8f0ffb7d
...
...
@@ -95,7 +95,7 @@ fetch verbosity packageDBs repoCtxt comp platform progdb
verbosity
comp
platform
fetchFlags
installedPkgIndex
sourcePkgDb
pkgConfigDb
pkgSpecifiers
pkgs'
<-
filterM
(
fmap
not
.
isFetched
.
package
Source
)
pkgs
pkgs'
<-
filterM
(
fmap
not
.
isFetched
.
srcpkg
Source
)
pkgs
if
null
pkgs'
--TODO: when we add support for remote tarballs then this message
-- will need to be changed because for remote tarballs we fetch them
...
...
@@ -108,7 +108,7 @@ fetch verbosity packageDBs repoCtxt comp platform progdb
"The following packages would be fetched:"
:
map
(
prettyShow
.
packageId
)
pkgs'
else
traverse_
(
fetchPackage
verbosity
repoCtxt
.
package
Source
)
pkgs'
else
traverse_
(
fetchPackage
verbosity
repoCtxt
.
srcpkg
Source
)
pkgs'
where
dryRun
=
fromFlag
(
fetchDryRun
fetchFlags
)
...
...
cabal-install/Distribution/Client/Get.hs
View file @
8f0ffb7d
...
...
@@ -114,15 +114,15 @@ get verbosity repoCtxt globalFlags getFlags userTargets = do
packageSourceRepos
::
SourcePackage
loc
->
[
PD
.
SourceRepo
]
packageSourceRepos
=
PD
.
sourceRepos
.
PD
.
packageDescription
.
package
Description
.
srcpkg
Description
unpack
::
[
UnresolvedSourcePackage
]
->
IO
()
unpack
pkgs
=
do
for_
pkgs
$
\
pkg
->
do
location
<-
fetchPackage
verbosity
repoCtxt
(
package
Source
pkg
)
location
<-
fetchPackage
verbosity
repoCtxt
(
srcpkg
Source
pkg
)
let
pkgid
=
packageId
pkg
descOverride
|
usePristine
=
Nothing
|
otherwise
=
package
DescrOverride
pkg
|
otherwise
=
srcpkg
DescrOverride
pkg
case
location
of
LocalTarballPackage
tarballPath
->
unpackPackage
verbosity
prefix
pkgid
descOverride
tarballPath
...
...
cabal-install/Distribution/Client/IndexUtils.hs
View file @
8f0ffb7d
...
...
@@ -364,18 +364,18 @@ readRepoIndex verbosity repoCtxt repo idxState =
idxState
where
mkAvailablePackage
pkgEntry
=
SourcePackage
{
packageInfoId
=
pkgid
,
packageDescription
=
packageDesc
pkgEntry
,
packageSource
=
case
pkgEntry
of
mkAvailablePackage
pkgEntry
=
SourcePackage
{
srcpkgPackageId
=
pkgid
,
srcpkgDescription
=
pkgdesc
,
srcpkgSource
=
case
pkgEntry
of
NormalPackage
_
_
_
_
->
RepoTarballPackage
repo
pkgid
Nothing
BuildTreeRef
_
_
_
path
_
->
LocalUnpackedPackage
path
,
package
DescrOverride
=
case
pkgEntry
of
BuildTreeRef
_
_
_
path
_
->
LocalUnpackedPackage
path
,
srcpkg
DescrOverride
=
case
pkgEntry
of
NormalPackage
_
_
pkgtxt
_
->
Just
pkgtxt
_
->
Nothing
}
where
pkgdesc
=
packageDesc
pkgEntry
pkgid
=
packageId
pkgEntry
handleNotFound
action
=
catchIO
action
$
\
e
->
if
isDoesNotExistError
e
...
...
cabal-install/Distribution/Client/Init/Heuristics.hs
View file @
8f0ffb7d
...
...
@@ -37,7 +37,7 @@ import Language.Haskell.Extension ( Extension )
import
Distribution.Solver.Types.PackageIndex
(
allPackagesByName
)
import
Distribution.Solver.Types.SourcePackage
(
package
Description
)
(
srcpkg
Description
)
import
Distribution.Client.Types
(
SourcePackageDb
(
..
)
)
import
Data.Char
(
isLower
)
...
...
@@ -344,7 +344,7 @@ maybeReadFile f = do
knownCategories
::
SourcePackageDb
->
[
String
]
knownCategories
(
SourcePackageDb
sourcePkgIndex
_
)
=
nubSet
[
cat
|
pkg
<-
maybeToList
.
safeHead
=<<
(
allPackagesByName
sourcePkgIndex
)
,
let
catList
=
(
PD
.
category
.
PD
.
packageDescription
.
package
Description
)
pkg
,
let
catList
=
(
PD
.
category
.
PD
.
packageDescription
.
srcpkg
Description
)
pkg
,
cat
<-
splitString
','
$
ShortText
.
fromShortText
catList
]
...
...
cabal-install/Distribution/Client/Install.hs
View file @
8f0ffb7d
...
...
@@ -572,8 +572,8 @@ checkPrintPlan verbosity installed installPlan sourcePkgDb
when
offline
$
do
let
pkgs
=
[
confPkgSource
cpkg
|
InstallPlan
.
Configured
cpkg
<-
InstallPlan
.
toList
installPlan
]
notFetched
<-
fmap
(
map
packageI
nfoI
d
)
.
filterM
(
fmap
isNothing
.
checkFetched
.
package
Source
)
notFetched
<-
fmap
(
map
packageId
)
.
filterM
(
fmap
isNothing
.
checkFetched
.
srcpkg
Source
)
$
pkgs
unless
(
null
notFetched
)
$
die'
verbosity
$
"Can't download packages in offline mode. "
...
...
@@ -692,7 +692,7 @@ printPlan dryRun verbosity plan sourcePkgDb = case plan of
nonDefaultFlags
cpkg
=
let
defaultAssignment
=
toFlagAssignment
(
genPackageFlags
(
SourcePackage
.
package
Description
$
(
genPackageFlags
(
SourcePackage
.
srcpkg
Description
$
confPkgSource
cpkg
))
in
confPkgFlags
cpkg
`
diffFlagAssignment
`
defaultAssignment
...
...
cabal-install/Distribution/Client/InstallSymlink.hs
View file @
8f0ffb7d
...
...
@@ -134,11 +134,11 @@ symlinkBinaries platform comp overwritePolicy
,
exe
<-
PackageDescription
.
executables
pkg
,
PackageDescription
.
buildable
(
PackageDescription
.
buildInfo
exe
)
]
pkgDescription
(
ConfiguredPackage
_
(
SourcePackage
_
pkg
_
_
)
pkgDescription
(
ConfiguredPackage
_
(
SourcePackage
_
gpd
_
_
)
flags
stanzas
_
)
=
case
finalizePD
flags
(
enableStanzas
stanzas
)
(
const
True
)
platform
cinfo
[]
pkg
of
platform
cinfo
[]
gpd
of
Left
_
->
error
"finalizePD ReadyPackage failed"
Right
(
desc
,
_
)
->
desc
...
...
cabal-install/Distribution/Client/List.hs
View file @
8f0ffb7d
...
...
@@ -507,7 +507,7 @@ mergePackageInfo versionPref installedPkgs sourcePkgs selectedPkg showVer =
sourceSelected
|
isJust
selectedPkg
=
selectedPkg
|
otherwise
=
latestWithPref
versionPref
sourcePkgs
sourceGeneric
=
fmap
package
Description
sourceSelected
sourceGeneric
=
fmap
srcpkg
Description
sourceSelected
source
=
fmap
flattenPackageDescription
sourceGeneric
uncons
::
b
->
(
a
->
b
)
->
[
a
]
->
b
...
...
@@ -521,7 +521,7 @@ mergePackageInfo versionPref installedPkgs sourcePkgs selectedPkg showVer =
--
updateFileSystemPackageDetails
::
PackageDisplayInfo
->
IO
PackageDisplayInfo
updateFileSystemPackageDetails
pkginfo
=
do
fetched
<-
maybe
(
return
False
)
(
isFetched
.
package
Source
)
fetched
<-
maybe
(
return
False
)
(
isFetched
.
srcpkg
Source
)
(
selectedSourcePkg
pkginfo
)
docsExist
<-
doesDirectoryExist
(
haddockHtml
pkginfo
)
return
pkginfo
{
...
...
cabal-install/Distribution/Client/ProjectConfig.hs
View file @
8f0ffb7d
...
...
@@ -88,7 +88,7 @@ import Distribution.Solver.Types.PackageConstraint
(
PackageProperty
(
..
)
)
import
Distribution.Package
(
PackageName
,
PackageId
,
packageId
,
Unit
Id
)
(
PackageName
,
PackageId
,
UnitId
,
package
Id
)
import
Distribution.Types.PackageVersionConstraint
(
PackageVersionConstraint
(
..
)
)
import
Distribution.System
...
...
@@ -1234,13 +1234,13 @@ mkSpecificSourcePackage :: PackageLocation FilePath
->
PackageSpecifier
(
SourcePackage
(
PackageLocation
(
Maybe
FilePath
)))
mkSpecificSourcePackage
location
pkg
=
SpecificSourcePackage
SourcePackage
{
packageInfoId
=
packageId
pkg
,
packageDescription
=
pkg
,
--TODO: it is silly that we still have to use a Maybe FilePath here
packageSource
=
fmap
Just
location
,
package
DescrOverride
=
Nothing
}
SpecificSourcePackage
SourcePackage
{
srcpkgPackageId
=
packageId
pkg
,
srcpkgDescription
=
pkg
--TODO: it is silly that we still have to use a Maybe FilePath here
,
srcpkgSource
=
fmap
Just
location
,
srcpkg
DescrOverride
=
Nothing
}
-- | Errors reported upon failing to parse a @.cabal@ file.
...
...
cabal-install/Distribution/Client/ProjectPlanning.hs
View file @
8f0ffb7d
...
...
@@ -789,7 +789,7 @@ getPkgConfigDb verbosity progdb = do
packageLocationsSignature
::
SolverInstallPlan
->
[(
PackageId
,
PackageLocation
(
Maybe
FilePath
))]
packageLocationsSignature
solverPlan
=
[
(
packageId
pkg
,
package
Source
pkg
)
[
(
packageId
pkg
,
srcpkg
Source
pkg
)
|
SolverInstallPlan
.
Configured
(
SolverPackage
{
solverPkgSource
=
pkg
})
<-
SolverInstallPlan
.
toList
solverPlan
]
...
...
@@ -810,7 +810,7 @@ getPackageSourceHashes verbosity withRepoCtx solverPlan = do
--
let
allPkgLocations
::
[(
PackageId
,
PackageLocation
(
Maybe
FilePath
))]
allPkgLocations
=
[
(
packageId
pkg
,
package
Source
pkg
)
[
(
packageId
pkg
,
srcpkg
Source
pkg
)
|
SolverInstallPlan
.
Configured
(
SolverPackage
{
solverPkgSource
=
pkg
})
<-
SolverInstallPlan
.
toList
solverPlan
]
...
...
@@ -995,7 +995,7 @@ planPackages verbosity comp platform solver SolverSettings{..}
.
addDefaultSetupDependencies
(
defaultSetupDeps
comp
platform
.
PD
.
packageDescription
.
package
Description
)
.
srcpkg
Description
)
.
addSetupCabalMinVersionConstraint
setupMinCabalVersionConstraint
.
addSetupCabalMaxVersionConstraint
setupMaxCabalVersionConstraint
...
...
@@ -1616,7 +1616,7 @@ elaborateInstallPlan verbosity platform compiler compilerprogdb pkgConfigDB
->
[
ElaboratedConfiguredPackage
]
->
ElaboratedConfiguredPackage
elaborateSolverToPackage
pkg
@
(
SolverPackage
(
SourcePackage
pkgid
_g
desc
_srcloc
_descOverride
)
pkg
@
(
SolverPackage
(
SourcePackage
pkgid
_g
pd
_srcloc
_descOverride
)
_flags
_stanzas
_deps0
_exe_deps0
)
compGraph
comps
=
-- Knot tying: the final elab includes the
...
...
@@ -1929,7 +1929,7 @@ elaborateInstallPlan verbosity platform compiler compilerprogdb pkgConfigDB
shouldBeLocal
::
PackageSpecifier
(
SourcePackage
(
PackageLocation
loc
))
->
Maybe
PackageId
shouldBeLocal
NamedPackage
{}
=
Nothing
shouldBeLocal
(
SpecificSourcePackage
pkg
)
|
LocalTarballPackage
_
<-
package
Source
pkg
=
Nothing
|
LocalTarballPackage
_
<-
srcpkg
Source
pkg
=
Nothing
|
otherwise
=
Just
(
packageId
pkg
)
-- TODO: Is it only LocalTarballPackages we can know about without
-- them being "local" in the sense meant here?
...
...
cabal-install/Distribution/Client/TargetSelector.hs
View file @
8f0ffb7d
...
...
@@ -1781,8 +1781,8 @@ collectKnownPackageInfo _ (NamedPackage pkgname _props) =
return
(
KnownPackageName
pkgname
)
collectKnownPackageInfo
dirActions
@
DirActions
{
..
}
(
SpecificSourcePackage
SourcePackage
{
package
Description
=
pkg
,
package
Source
=
loc
srcpkg
Description
=
pkg
,
srcpkg
Source
=
loc
})
=
do
(
pkgdir
,
pkgfile
)
<-
case
loc
of
...
...
cabal-install/Distribution/Client/Targets.hs
View file @
8f0ffb7d
...
...
@@ -419,12 +419,12 @@ readPackageTarget verbosity = traverse modifyLocation
LocalUnpackedPackage
dir
->
do
pkg
<-
tryFindPackageDesc
verbosity
dir
(
localPackageError
dir
)
>>=
readGenericPackageDescription
verbosity
return
$
SourcePackage
{
packageInfoId
=
packageId
pkg
,
packageDescription
=
pkg
,
packageSource
=
fmap
Just
location
,
package
DescrOverride
=
Nothing
}
return
SourcePackage
{
srcpkgPackageId
=
packageId
pkg
,
srcpkgDescription
=
pkg
,
srcpkgSource
=
fmap
Just
location
,
srcpkg
DescrOverride
=
Nothing
}
LocalTarballPackage
tarballFile
->
readTarballPackageTarget
location
tarballFile
tarballFile
...
...
@@ -451,12 +451,12 @@ readPackageTarget verbosity = traverse modifyLocation
Nothing
->
die'
verbosity
$
"Could not parse the cabal file "
++
filename
++
" in "
++
tarballFile
Just
pkg
->
return
$
SourcePackage
{
packageInfoId
=
packageId
pkg
,
packageDescription
=
pkg
,
packageSource
=
fmap
Just
location
,
package
DescrOverride
=
Nothing
}
return
SourcePackage
{
srcpkgPackageId
=
packageId
pkg
,
srcpkgDescription
=
pkg
,
srcpkgSource
=
fmap
Just
location
,
srcpkg
DescrOverride
=
Nothing
}
extractTarballPackageCabalFile
::
FilePath
->
String
->
IO
(
FilePath
,
BS
.
ByteString
)
...
...
cabal-install/Distribution/Solver/Types/SourcePackage.hs
View file @
8f0ffb7d
...
...
@@ -17,18 +17,20 @@ import Data.ByteString.Lazy (ByteString)
-- | A package description along with the location of the package sources.
--
data
SourcePackage
loc
=
SourcePackage
{
packageInfoId
::
PackageId
,
packageDescription
::
GenericPackageDescription
,
packageSource
::
loc
,
packageDescrOverride
::
PackageDescriptionOverride
data
SourcePackage
loc
=
SourcePackage
{
srcpkgPackageId
::
PackageId
,
srcpkgDescription
::
GenericPackageDescription
-- ^ Note, this field is lazy, e.g. when reading in hackage index
-- we parse only what we need, not whole index.
,
srcpkgSource
::
loc
,
srcpkgDescrOverride
::
PackageDescriptionOverride
}
deriving
(
Eq
,
Show
,
Generic
,
Typeable
)
instance
Binary
loc
=>
Binary
(
SourcePackage
loc
)
instance
Structured
loc
=>
Structured
(
SourcePackage
loc
)
instance
Package
(
SourcePackage
a
)
where
packageId
=
packageInfo
Id
instance
Package
(
SourcePackage
a
)
where
packageId
=
srcpkgPackage
Id
-- | We sometimes need to override the .cabal file in the tarball with
-- the newer one from the package index.
...
...
cabal-install/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs
View file @
8f0ffb7d
...
...
@@ -421,11 +421,11 @@ exAvSrcPkg ex =
C
.
setupDepends
=
mkSetupDeps
deps
,
C
.
defaultSetupDepends
=
False
}
package
=
SourcePackage
{
packageInfoId
=
pkgId
,
package
Source
=
LocalTarballPackage
"<<path>>"
,
package
DescrOverride
=
Nothing
,
package
Description
=
C
.
GenericPackageDescription
{
package
=
SourcePackage
{
srcpkgPackageId
=
pkgId
,
srcpkg
Source
=
LocalTarballPackage
"<<path>>"
,
srcpkg
DescrOverride
=
Nothing
,
srcpkg
Description
=
C
.
GenericPackageDescription
{
C
.
packageDescription
=
C
.
emptyPackageDescription
{
C
.
package
=
pkgId
,
C
.
setupBuildInfo
=
setup
...
...
@@ -477,7 +477,7 @@ exAvSrcPkg ex =
-- solver allows unknown extensions/languages when the compiler
-- supports them.
let
ignore
=
[
"Unknown extensions:"
,
"Unknown languages:"
]
in
[
err
|
err
<-
C
.
checkPackage
(
package
Description
package
)
Nothing
in
[
err
|
err
<-
C
.
checkPackage
(
srcpkg
Description
package
)
Nothing
,
not
$
any
(`
isPrefixOf
`
C
.
explanation
err
)
ignore
]
in
if
null
pkgCheckErrors
then
package
...
...
@@ -804,7 +804,7 @@ extractInstallPlan = catMaybes . map confPkg . CI.SolverInstallPlan.toList
srcPkg
::
SolverPackage
UnresolvedPkgLoc
->
Maybe
(
String
,
Int
)
srcPkg
cpkg
=
let
C
.
PackageIdentifier
pn
ver
=
packageInfo
Id
(
solverPkgSource
cpkg
)
let
C
.
PackageIdentifier
pn
ver
=
C
.
package
Id
(
solverPkgSource
cpkg
)
in
(
\
vn
->
(
C
.
unPackageName
pn
,
vn
))
<$>
safeHead
(
C
.
versionNumbers
ver
)
{-------------------------------------------------------------------------------
...
...
cabal-install/tests/IntegrationTests2.hs
View file @
8f0ffb7d
...
...
@@ -46,7 +46,6 @@ import qualified Distribution.Client.CmdHaddock as CmdHaddock
import
Distribution.Package
import
Distribution.PackageDescription
import
qualified
Distribution.Types.GenericPackageDescription
as
GPG
import
Distribution.InstalledPackageInfo
(
InstalledPackageInfo
)
import
Distribution.Simple.Setup
(
toFlag
,
HaddockFlags
(
..
),
defaultHaddockFlags
)
import
Distribution.Simple.Compiler
...
...
@@ -450,11 +449,11 @@ testTargetSelectorAmbiguous reportSubCase = do
->
SourcePackage
(
PackageLocation
a
)
mkpkgAt
pkgidstr
exes
loc
=
SourcePackage
{
packageInfo
Id
=
pkgid
,
package
Source
=
LocalUnpackedPackage
loc
,
package
DescrOverride
=
Nothing
,
SP
.
package
Description
=
GenericPackageDescription
{
GPG
.
packageDescription
=
emptyPackageDescription
{
package
=
pkgid
},
srcpkgPackage
Id
=
pkgid
,
srcpkg
Source
=
LocalUnpackedPackage
loc
,
srcpkg
DescrOverride
=
Nothing
,
srcpkg
Description
=
GenericPackageDescription
{
packageDescription
=
emptyPackageDescription
{
package
=
pkgid
},
gpdScannedVersion
=
Nothing
,
genPackageFlags
=
[]
,
condLibrary
=
Nothing
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment