Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Cabal-syntax/src/Distribution/Types/Dependency.hs
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@ instance Parsec Dependency where
libs <- option mainLibSet $ do
_ <- char ':'
versionGuardMultilibs
parsecWarning PWTExperimental "colon specifier is experimental feature (issue #5660)"
NES.singleton <$> parseLib <|> parseMultipleLibs

spaces -- https://github.com/haskell/cabal/issues/5846
Expand Down
1 change: 0 additions & 1 deletion Cabal-syntax/src/Distribution/Types/LibraryVisibility.hs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ instance Pretty LibraryVisibility where
instance Parsec LibraryVisibility where
parsec = do
name <- P.munch1 isAlpha
parsecWarning PWTExperimental "visibility is experimental feature (issue #5660)"
case name of
"public" -> return LibraryVisibilityPublic
"private" -> return LibraryVisibilityPrivate
Expand Down
1 change: 0 additions & 1 deletion Cabal-syntax/src/Distribution/Types/Mixin.hs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ instance Parsec Mixin where
ln <- P.option LMainLibName $ do
_ <- P.char ':'
versionGuardMultilibs
parsecWarning PWTExperimental "colon specifier is experimental feature (issue #5660)"
LSubLibName <$> parsec
P.spaces
incl <- parsec
Expand Down
4 changes: 0 additions & 4 deletions Cabal-tests/tests/ParserTests/regressions/issue-5846.format
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
issue-5846.cabal:11:23: colon specifier is experimental feature (issue #5660)
issue-5846.cabal:10:23: colon specifier is experimental feature (issue #5660)
issue-5846.cabal:7:23: colon specifier is experimental feature (issue #5660)
issue-5846.cabal:8:23: colon specifier is experimental feature (issue #5660)
cabal-version: 3.0
name: issue
version: 5846
Expand Down
2 changes: 0 additions & 2 deletions Cabal-tests/tests/ParserTests/regressions/issue-6083-a.format
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
issue-6083-a.cabal:19:31: colon specifier is experimental feature (issue #5660)
issue-6083-a.cabal:8:30: colon specifier is experimental feature (issue #5660)
cabal-version: 3.4
name: issue
version: 6083
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
issue-6083-b.cabal:19:31: colon specifier is experimental feature (issue #5660)
cabal-version: 3.0
name: issue
version: 6083
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
issue-6083-pkg-pkg.cabal:9:27: colon specifier is experimental feature (issue #5660)
cabal-version: 3.0
name: issue
version: 6083
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 3.0
name: public-multilib1
version: 0
synopsis: public-multilibs are not polished enough for Hackage
synopsis: public-multilibs
category: Tests
license: MIT

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
public-multilib-1.cabal:16:27: visibility is experimental feature (issue #5660)
No 'maintainer' field.
No 'description' field.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 3.0
name: public-multilib1
version: 0
synopsis: public-multilibs are not polished enough for Hackage
synopsis: public-multilibs
category: Tests
license: MIT

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
public-multilib-2.cabal:12:15: colon specifier is experimental feature (issue #5660)
No 'maintainer' field.
No 'description' field.
2 changes: 1 addition & 1 deletion Cabal/src/Distribution/Simple/Configure.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1310,7 +1310,7 @@ selectDependency pkgid internalIndex installedIndex requiredDepsMap
-- If we know the exact pkg to use, then use it.
Just pkginstance -> Right pkginstance
-- Otherwise we just pick an arbitrary instance of the latest version.
Nothing -> case pickLastIPI $ PackageIndex.lookupDependency installedIndex dep_pkgname vr of
Nothing -> case pickLastIPI $ PackageIndex.lookupInternalDependency installedIndex dep_pkgname vr lib of
Nothing -> Left (DependencyNotExists dep_pkgname)
Just pkg -> Right pkg
return $ ExternalDependency $ ipiToPreExistingComponent ipi
Expand Down
1 change: 0 additions & 1 deletion cabal-testsuite/PackageTests/DuplicateExperimental/Four.hs

This file was deleted.

6 changes: 0 additions & 6 deletions cabal-testsuite/PackageTests/DuplicateExperimental/Main.hs

This file was deleted.

1 change: 0 additions & 1 deletion cabal-testsuite/PackageTests/DuplicateExperimental/One.hs

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion cabal-testsuite/PackageTests/DuplicateExperimental/Two.hs

This file was deleted.

This file was deleted.

35 changes: 0 additions & 35 deletions cabal-testsuite/PackageTests/DuplicateExperimental/duplicate.cabal

This file was deleted.

2 changes: 0 additions & 2 deletions cabal-testsuite/PackageTests/DuplicateExperimental/setup.out

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-def-0.1.0.0 (lib:publib) (first run)
- pkg-abc-0.1.0.0 (exe:program) (first run)
Warning: pkg-def.cabal:10:27: visibility is experimental feature (issue #5660)
Configuring library 'publib' for pkg-def-0.1.0.0..
Preprocessing library 'publib' for pkg-def-0.1.0.0..
Building library 'publib' for pkg-def-0.1.0.0..
Warning: pkg-abc.cabal:10:15: colon specifier is experimental feature (issue #5660)
Configuring executable 'program' for pkg-abc-0.1.0.0..
Preprocessing executable 'program' for pkg-abc-0.1.0.0..
Building executable 'program' for pkg-abc-0.1.0.0..
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-def-0.1.0.0 (lib) (first run)
- pkg-abc-0.1.0.0 (exe:program) (first run)
Warning: pkg-def.cabal:13:27: visibility is experimental feature (issue #5660)
Configuring library for pkg-def-0.1.0.0..
Preprocessing library for pkg-def-0.1.0.0..
Building library for pkg-def-0.1.0.0..
Warning: pkg-abc.cabal:19:15: colon specifier is experimental feature (issue #5660)
Configuring executable 'program' for pkg-abc-0.1.0.0..
Preprocessing executable 'program' for pkg-abc-0.1.0.0..
Building executable 'program' for pkg-abc-0.1.0.0..
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-def-0.1.0.0 (lib) (first run)
- pkg-abc-0.1.0.0 (exe:program) (first run)
Warning: pkg-def.cabal:13:27: visibility is experimental feature (issue #5660)
Configuring library for pkg-def-0.1.0.0..
Preprocessing library for pkg-def-0.1.0.0..
Building library for pkg-def-0.1.0.0..
Warning: pkg-abc.cabal:15:29: colon specifier is experimental feature (issue #5660)
Warning: pkg-abc.cabal:20:15: colon specifier is experimental feature (issue #5660)
Configuring executable 'program' for pkg-abc-0.1.0.0..
Preprocessing executable 'program' for pkg-abc-0.1.0.0..
Building executable 'program' for pkg-abc-0.1.0.0..
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-abc-0.1.0.0 (lib:pkg-def) (first run)
- pkg-abc-0.1.0.0 (exe:program) (first run)
Warning: pkg-abc.cabal:19:15: colon specifier is experimental feature (issue #5660)
Configuring library 'pkg-def' for pkg-abc-0.1.0.0..
Preprocessing library 'pkg-def' for pkg-abc-0.1.0.0..
Building library 'pkg-def' for pkg-abc-0.1.0.0..
Warning: pkg-abc.cabal:19:15: colon specifier is experimental feature (issue #5660)
Configuring executable 'program' for pkg-abc-0.1.0.0..
Preprocessing executable 'program' for pkg-abc-0.1.0.0..
Building executable 'program' for pkg-abc-0.1.0.0..
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-abc-0.1.0.0 (lib:pkg-def) (first run)
- pkg-abc-0.1.0.0 (exe:program) (first run)
Warning: pkg-abc.cabal:20:15: colon specifier is experimental feature (issue #5660)
Configuring library 'pkg-def' for pkg-abc-0.1.0.0..
Preprocessing library 'pkg-def' for pkg-abc-0.1.0.0..
Building library 'pkg-def' for pkg-abc-0.1.0.0..
Warning: pkg-abc.cabal:20:15: colon specifier is experimental feature (issue #5660)
Configuring executable 'program' for pkg-abc-0.1.0.0..
Preprocessing executable 'program' for pkg-abc-0.1.0.0..
Building executable 'program' for pkg-abc-0.1.0.0..
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- issue-6894 (lib:sublib) (first run)
- issue-6894 (lib) (first run)
Warning: issue.cabal:7:30: colon specifier is experimental feature (issue #5660)
Configuring library 'sublib' for issue-6894..
Preprocessing library 'sublib' for issue-6894..
Building library 'sublib' for issue-6894..
Warning: issue.cabal:7:30: colon specifier is experimental feature (issue #5660)
Configuring library for issue-6894..
Preprocessing library for issue-6894..
Building library for issue-6894..
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Setup configure
Warning: issue.cabal:7:30: colon specifier is experimental feature (issue #5660)
Configuring issue-6894...
# Setup build
Preprocessing library 'sublib' for issue-6894..
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Setup configure
Warning: issue.cabal:7:30: colon specifier is experimental feature (issue #5660)
Configuring issue-6894...
# Setup build
Preprocessing library 'sublib' for issue-6894..
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Setup configure
Configuring dep-0.1.0.0...
# Setup build
Preprocessing library 'sublib' for dep-0.1.0.0..
Building library 'sublib' for dep-0.1.0.0..
Preprocessing library for dep-0.1.0.0..
Building library for dep-0.1.0.0..
# Setup copy
Installing internal library sublib in <PATH>
Installing library in <PATH>
# Setup register
Registering library 'sublib' for dep-0.1.0.0..
Registering library for dep-0.1.0.0..
# Setup configure
Configuring p-0.1.0.0...
# Setup build
Preprocessing library for p-0.1.0.0..
Building library for p-0.1.0.0..
18 changes: 18 additions & 0 deletions cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Setup configure
Configuring dep-0.1.0.0...
# Setup build
Preprocessing library 'sublib' for dep-0.1.0.0..
Building library 'sublib' for dep-0.1.0.0..
Preprocessing library for dep-0.1.0.0..
Building library for dep-0.1.0.0..
# Setup copy
Installing internal library sublib in <PATH>
Installing library in <PATH>
# Setup register
Registering library 'sublib' for dep-0.1.0.0..
Registering library for dep-0.1.0.0..
# Setup configure
Configuring p-0.1.0.0...
# Setup build
Preprocessing library for p-0.1.0.0..
Building library for p-0.1.0.0..
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import Test.Cabal.Prelude
main = setupAndCabalTest $
withPackageDb $ do
withDirectory "dep" $ setup_install []
withDirectory "p" $ setup_build []
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module Sublib where

s :: String
s = "Hello World"
14 changes: 14 additions & 0 deletions cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/dep.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
cabal-version: 3.0
name: dep
version: 0.1.0.0
build-type: Simple

-- needed because of https://github.com/haskell/cabal/issues/8095
library
default-language: Haskell2010

library sublib
visibility: public
exposed-modules: Sublib
build-depends: base >=4 && <5
default-language: Haskell2010
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Main where

import Sublib (s)

main :: IO ()
main = putStrLn s
10 changes: 10 additions & 0 deletions cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/p.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
cabal-version: 3.0
name: p
version: 0.1.0.0
build-type: Simple

library
exposed-modules: Main
build-depends: base >=4 && <5
, dep:sublib
default-language: Haskell2010
13 changes: 13 additions & 0 deletions changelog.d/pr-8089
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
synopsis: Fix Cabal not finding public sublibraries of installed packages
packages: Cabal
prs: #8089
issues: #7270

description: {

Fix bug in lookup of installed sublibraries with nonexact dependencies (ie. when
not using --exact-configuration). That is the mode of operation of distribution
packages, so this should allow distros to package Cabal packages with multiple
libraries.

}
4 changes: 4 additions & 0 deletions changelog.d/remove-experimental-multilibs-warning
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
synopsis: Unmarked "visibility: public" and "build-depends: pkg:lib" syntaxes as experimental, allowing Hackage upload of packages exposing or using multiple public libraries
packages: Cabal
prs: #8089
issues: #6801 #7286