diff --git a/.arcconfig b/.arcconfig deleted file mode 100644 index 5a888cdf81bbceb59f7653d84ac05273cb37cf02..0000000000000000000000000000000000000000 --- a/.arcconfig +++ /dev/null @@ -1,4 +0,0 @@ -{ - "repository.callsign" : "CABAL", - "phabricator.uri" : "https://phabricator.haskell.org" -} diff --git a/.ghci b/.ghci deleted file mode 100644 index 1e251d3101621bfba8fa1c578b2d0f41aa0e52c2..0000000000000000000000000000000000000000 --- a/.ghci +++ /dev/null @@ -1,2 +0,0 @@ -:set -icabal-install -icabal-install/main -:load Main diff --git a/.ghcid b/.ghcid deleted file mode 100644 index 510c5efdff423a793c2917ca283d87387e1dfde3..0000000000000000000000000000000000000000 --- a/.ghcid +++ /dev/null @@ -1 +0,0 @@ ---command "ghci -j4 +RTS -A128m" diff --git a/.github/mergify.yml b/.github/mergify.yml new file mode 100644 index 0000000000000000000000000000000000000000..7f94ccba58e53ef4b0403b9170e78d7383c0db88 --- /dev/null +++ b/.github/mergify.yml @@ -0,0 +1,29 @@ +pull_request_rules: + # rebase+merge strategy + - actions: + queue: + name: default + # Merge into master with a merge commit + method: merge + # Update the pr branch with rebase, so the history is clean + update_method: rebase + name: Put pull requests in the rebase+merge queue + conditions: + - label=merge me + - '#approved-reviews-by>=2' + # merge+squash strategy + - actions: + queue: + name: default + method: squash + # both update methods get absorbed by the squash, so we use the most + # reliable + update_method: merge + name: Put pull requests in the squash+merge queue + conditions: + - label=squash+merge me + - '#approved-reviews-by>=2' + +queue_rules: + - name: default + conditions: [] diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c2a1a78101aca5d73605ac915dcc224ab26e80f0..8921350404bb37deb6195d5fed61f0a509df8d31 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -63,7 +63,7 @@ jobs: cabal v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" - name: cabal-tests # Using only one job, -j1, to fail less. - run: cabal v2-run cabal-testsuite:cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.6.5\cabal-install-3.6.0.0\x\cabal\build\cabal\cabal.exe + run: cabal v2-run cabal-testsuite:cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.6.5\cabal-install-3.7.0.0\x\cabal\build\cabal\cabal.exe test-windows-8_10_4: name: test ghc-8.10.4 runs-on: windows-latest @@ -111,4 +111,4 @@ jobs: cabal v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" - name: cabal-tests # Using only one job, -j1, to fail less. - run: cabal v2-run cabal-testsuite:cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.10.4\cabal-install-3.6.0.0\x\cabal\build\cabal\cabal.exe + run: cabal v2-run cabal-testsuite:cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.10.4\cabal-install-3.7.0.0\x\cabal\build\cabal\cabal.exe diff --git a/.gitignore b/.gitignore index b5bea88e8709bd15c35982e5d6d8beabb23edfc1..4747b90b7af5af4a6845276618a3c3dd190c6ae3 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,11 @@ cabal-tests.log /cabal-install/Setup /cabal-install/source-file-list +.stylish-haskell.yaml +.stylish-haskell.yml +.ghci +.ghcid + # Output of release and bootstrap _build @@ -69,3 +74,6 @@ register.sh # benchmarks bench.html + +# Emacs +.projectile \ No newline at end of file diff --git a/.mention-bot b/.mention-bot deleted file mode 100644 index c936d2e509035e188bae506312f1619687832bcd..0000000000000000000000000000000000000000 --- a/.mention-bot +++ /dev/null @@ -1,6 +0,0 @@ -{ - "userBlacklist": [ - "BardurArantsson" - , "SyntaxPolice" - ] -} diff --git a/.projectile b/.projectile deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.stylish-haskell.yaml b/.stylish-haskell.yaml deleted file mode 100644 index a45adc10418e68726a4b768512f37fa5f4868b4d..0000000000000000000000000000000000000000 --- a/.stylish-haskell.yaml +++ /dev/null @@ -1,19 +0,0 @@ -steps: - - imports: - align: group - list_align: after_alias - long_list_align: new_line - empty_list_align: right_after - list_padding: module_name - - language_pragmas: - style: vertical - remove_redundant: true - - trailing_whitespace: {} -columns: 160 -language_extensions: - - DataKinds - - DerivingStrategies - - ExplicitForAll - - FlexibleContexts - - GeneralizedNewtypeDeriving - - MultiParamTypeClasses diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0aefb5c534b528b29de014e45d464553ac393576..6d4b6eb15bb8d6511846d857fb609dc0fcbb48f3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,11 +29,11 @@ cabal v2-build cabal-tests # etc... Running tests ------------- -**Using Github Actions and AppVeyor.** +**Using Github Actions.** If you are not in a hurry, the most convenient way to run tests on Cabal is to make a branch on GitHub and then open a pull request; our -continuous integration service on Github Actions and AppVeyor will build and -test your code. Title your PR with WIP so we know that it does not need +continuous integration service on Github Actions builds and +tests your code. Title your PR with WIP so we know that it does not need code review. Some tips for using Github Actions effectively: @@ -72,10 +72,6 @@ failures: tested. If you have an Ubuntu system, you can download the binaries and run them directly. -5. Is the test failing on AppVeyor? Consider logging in via - Remote Desktop to the build VM: - https://www.appveyor.com/docs/how-to/rdp-to-build-worker/ - If none of these let you reproduce, there might be some race condition or continuous integration breakage; please file a bug. @@ -194,8 +190,9 @@ We like [this style guide][guide]. Changelog --------- -When opening a pull request, you should write a changelog entry. -This is done by adding a file in the `changelog.d` directory. +When opening a pull request, you should write a changelog entry +(or more in case of multiple independent changes). +This is done by adding files in the `changelog.d` directory. The files follow a simple key-value format similar to the one for .cabal files. diff --git a/Cabal-QuickCheck/Cabal-QuickCheck.cabal b/Cabal-QuickCheck/Cabal-QuickCheck.cabal index 0f631dbdfdc4cb3d6f2650367f28ed9c9232d874..0f4d2d0c34eea411f0074d9aea3c57e5aa3a707d 100644 --- a/Cabal-QuickCheck/Cabal-QuickCheck.cabal +++ b/Cabal-QuickCheck/Cabal-QuickCheck.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: Cabal-QuickCheck -version: 3.6.0.0 +version: 3.7.0.0 synopsis: QuickCheck instances for types in Cabal category: Testing description: @@ -13,7 +13,7 @@ library build-depends: , base , bytestring - , Cabal ^>=3.6.0.0 + , Cabal ^>=3.7.0.0 , QuickCheck ^>=2.13.2 || ^>=2.14 if !impl(ghc >= 8.0) diff --git a/Cabal-described/Cabal-described.cabal b/Cabal-described/Cabal-described.cabal index e8911f40b1ffc913220da1b950e9b7f23df94cd5..92344b62183497960f4c0e07a365b98354097cea 100644 --- a/Cabal-described/Cabal-described.cabal +++ b/Cabal-described/Cabal-described.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: Cabal-described -version: 3.6.0.0 +version: 3.7.0.0 synopsis: Described functionality for types in Cabal category: Testing, Parsec description: Provides rere bindings @@ -11,7 +11,7 @@ library ghc-options: -Wall build-depends: , base - , Cabal ^>=3.6.0.0 + , Cabal ^>=3.7.0.0 , containers , pretty , QuickCheck diff --git a/Cabal-tests/Cabal-tests.cabal b/Cabal-tests/Cabal-tests.cabal index a194259817ffea824e70e8fa2756e22a80681435..eb9509f5e5df5c944046b59d06decef2a669a93e 100644 --- a/Cabal-tests/Cabal-tests.cabal +++ b/Cabal-tests/Cabal-tests.cabal @@ -31,6 +31,7 @@ test-suite unit-tests UnitTests.Distribution.Compat.Time UnitTests.Distribution.Described UnitTests.Distribution.PkgconfigVersion + UnitTests.Distribution.Simple.Command UnitTests.Distribution.Simple.Glob UnitTests.Distribution.Simple.Program.GHC UnitTests.Distribution.Simple.Program.Internal @@ -40,6 +41,7 @@ test-suite unit-tests UnitTests.Distribution.Types.GenericPackageDescription UnitTests.Distribution.Utils.CharSet UnitTests.Distribution.Utils.Generic + UnitTests.Distribution.Utils.Json UnitTests.Distribution.Utils.NubList UnitTests.Distribution.Utils.ShortText UnitTests.Distribution.Utils.Structured @@ -150,7 +152,6 @@ test-suite hackage-tests type: exitcode-stdio-1.0 main-is: HackageTests.hs - -- TODO: need to get 01-index.tar on appveyor if os(windows) buildable: False diff --git a/Cabal-tests/tests/ParserTests/ipi/Includes2.expr b/Cabal-tests/tests/ParserTests/ipi/Includes2.expr index b8fa9b1f63226040561742b8742d0ebe39727539..9c15199c79fd565f39da5c88b4c6d2d93536e163 100644 --- a/Cabal-tests/tests/ParserTests/ipi/Includes2.expr +++ b/Cabal-tests/tests/ParserTests/ipi/Includes2.expr @@ -1,58 +1,92 @@ -InstalledPackageInfo - {abiDepends = [AbiDependency - {depAbiHash = AbiHash "35a7f6be752ee4f7385cb5bf28677879", - depUnitId = UnitId "base-4.10.1.0"}, - AbiDependency - {depAbiHash = AbiHash "inplace", - depUnitId = UnitId "Includes2-0.1.0.0-inplace-mysql"}], - abiHash = AbiHash "inplace", - author = "Edward Z. Yang", - category = "", - ccOptions = [], - compatPackageKey = "Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n", - copyright = "", - cxxOptions = [], - dataDir = "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2", - depends = [UnitId "base-4.10.1.0", - UnitId "Includes2-0.1.0.0-inplace-mysql"], - description = "", - exposed = False, - exposedModules = [ExposedModule - {exposedName = ModuleName "Mine", exposedReexport = Nothing}], - extraGHCiLibraries = [], - extraLibraries = [], - frameworkDirs = [], - frameworks = [], - haddockHTMLs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2"], - haddockInterfaces = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2/Includes2.haddock"], - hiddenModules = [], - homepage = "", - hsLibraries = ["HSIncludes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], - importDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], - includeDirs = [], - includes = [], - indefinite = False, - installedComponentId_ = ComponentId "", - installedUnitId = UnitId - "Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n", - instantiatedWith = [_×_ - (ModuleName "Database") - (OpenModule - (DefiniteUnitId - (DefUnitId (UnitId "Includes2-0.1.0.0-inplace-mysql"))) - (ModuleName "Database.MySQL"))], - ldOptions = [], - libVisibility = LibraryVisibilityPrivate, - libraryDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], - libraryDynDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], - license = Right BSD3, - maintainer = "ezyang@cs.stanford.edu", - pkgRoot = Nothing, - pkgUrl = "", - sourceLibName = LSubLibName (UnqualComponentName "mylib"), - sourcePackageId = PackageIdentifier - {pkgName = PackageName "Includes2", - pkgVersion = mkVersion [0, 1, 0, 0]}, - stability = "", - synopsis = "", - trusted = False} +InstalledPackageInfo { + sourcePackageId = + PackageIdentifier { + pkgName = PackageName + "Includes2", + pkgVersion = mkVersion + [0, 1, 0, 0]}, + sourceLibName = LSubLibName + (UnqualComponentName "mylib"), + installedComponentId_ = + ComponentId "", + libVisibility = + LibraryVisibilityPrivate, + installedUnitId = UnitId + "Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n", + instantiatedWith = [ + _×_ + (ModuleName "Database") + (OpenModule + (DefiniteUnitId + (DefUnitId + (UnitId + "Includes2-0.1.0.0-inplace-mysql"))) + (ModuleName "Database.MySQL"))], + compatPackageKey = + "Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n", + license = Right BSD3, + copyright = "", + maintainer = + "ezyang@cs.stanford.edu", + author = "Edward Z. Yang", + stability = "", + homepage = "", + pkgUrl = "", + synopsis = "", + description = "", + category = "", + abiHash = AbiHash "inplace", + indefinite = False, + exposed = False, + exposedModules = [ + ExposedModule { + exposedName = ModuleName "Mine", + exposedReexport = Nothing}], + hiddenModules = [], + trusted = False, + importDirs = + [ + "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], + libraryDirs = + [ + "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], + libraryDirsStatic = [], + libraryDynDirs = + [ + "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], + dataDir = + "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2", + hsLibraries = [ + "HSIncludes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"], + extraLibraries = [], + extraLibrariesStatic = [], + extraGHCiLibraries = [], + includeDirs = [], + includes = [], + depends = [ + UnitId "base-4.10.1.0", + UnitId + "Includes2-0.1.0.0-inplace-mysql"], + abiDepends = [ + AbiDependency { + depUnitId = UnitId + "base-4.10.1.0", + depAbiHash = AbiHash + "35a7f6be752ee4f7385cb5bf28677879"}, + AbiDependency { + depUnitId = UnitId + "Includes2-0.1.0.0-inplace-mysql", + depAbiHash = AbiHash + "inplace"}], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + frameworkDirs = [], + frameworks = [], + haddockInterfaces = + [ + "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2/Includes2.haddock"], + haddockHTMLs = + [ + "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2"], + pkgRoot = Nothing} diff --git a/Cabal-tests/tests/ParserTests/ipi/internal-preprocessor-test.expr b/Cabal-tests/tests/ParserTests/ipi/internal-preprocessor-test.expr index 6fb0aaa92f2435a61ec9d6c34bed1ddc0a1a91b6..42a593f2540e4548e5088f124748df16ccff7a18 100644 --- a/Cabal-tests/tests/ParserTests/ipi/internal-preprocessor-test.expr +++ b/Cabal-tests/tests/ParserTests/ipi/internal-preprocessor-test.expr @@ -1,48 +1,76 @@ -InstalledPackageInfo - {abiDepends = [], - abiHash = AbiHash "", - author = "Mikhail Glushenkov", - category = "Testing", - ccOptions = [], - compatPackageKey = "internal-preprocessor-test-0.1.0.0", - copyright = "", - cxxOptions = [], - dataDir = "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess", - depends = [UnitId "base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d"], - description = "See https://github.com/haskell/cabal/issues/1541#issuecomment-30155513", - exposed = True, - exposedModules = [ExposedModule - {exposedName = ModuleName "A", exposedReexport = Nothing}], - extraGHCiLibraries = [], - extraLibraries = [], - frameworkDirs = [], - frameworks = [], - haddockHTMLs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test"], - haddockInterfaces = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test/internal-preprocessor-test.haddock"], - hiddenModules = [], - homepage = "", - hsLibraries = ["HSinternal-preprocessor-test-0.1.0.0"], - importDirs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"], - includeDirs = [], - includes = [], - indefinite = False, - installedComponentId_ = ComponentId "", - installedUnitId = UnitId "internal-preprocessor-test-0.1.0.0", - instantiatedWith = [], - ldOptions = [], - libVisibility = LibraryVisibilityPublic, - libraryDirs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build", - "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"], - libraryDynDirs = [], - license = Right (GPL (Just (mkVersion [3]))), - maintainer = "mikhail.glushenkov@gmail.com", - pkgRoot = Just - "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist", - pkgUrl = "", - sourceLibName = LMainLibName, - sourcePackageId = PackageIdentifier - {pkgName = PackageName "internal-preprocessor-test", - pkgVersion = mkVersion [0, 1, 0, 0]}, - stability = "", - synopsis = "Internal custom preprocessor example.", - trusted = False} +InstalledPackageInfo { + sourcePackageId = + PackageIdentifier { + pkgName = PackageName + "internal-preprocessor-test", + pkgVersion = mkVersion + [0, 1, 0, 0]}, + sourceLibName = LMainLibName, + installedComponentId_ = + ComponentId "", + libVisibility = + LibraryVisibilityPublic, + installedUnitId = UnitId + "internal-preprocessor-test-0.1.0.0", + instantiatedWith = [], + compatPackageKey = + "internal-preprocessor-test-0.1.0.0", + license = Right + (GPL (Just (mkVersion [3]))), + copyright = "", + maintainer = + "mikhail.glushenkov@gmail.com", + author = "Mikhail Glushenkov", + stability = "", + homepage = "", + pkgUrl = "", + synopsis = + "Internal custom preprocessor example.", + description = + "See https://github.com/haskell/cabal/issues/1541#issuecomment-30155513", + category = "Testing", + abiHash = AbiHash "", + indefinite = False, + exposed = True, + exposedModules = [ + ExposedModule { + exposedName = ModuleName "A", + exposedReexport = Nothing}], + hiddenModules = [], + trusted = False, + importDirs = + [ + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"], + libraryDirs = + [ + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build", + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"], + libraryDirsStatic = [], + libraryDynDirs = [], + dataDir = + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess", + hsLibraries = [ + "HSinternal-preprocessor-test-0.1.0.0"], + extraLibraries = [], + extraLibrariesStatic = [], + extraGHCiLibraries = [], + includeDirs = [], + includes = [], + depends = [ + UnitId + "base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d"], + abiDepends = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + frameworkDirs = [], + frameworks = [], + haddockInterfaces = + [ + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test/internal-preprocessor-test.haddock"], + haddockHTMLs = + [ + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test"], + pkgRoot = + Just + "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist"} diff --git a/Cabal-tests/tests/ParserTests/ipi/issue-2276-ghc-9885.expr b/Cabal-tests/tests/ParserTests/ipi/issue-2276-ghc-9885.expr index 5f1f822104d1b302e29cf5875e06b6d89ca44e78..f2d62e05938a1e1b770c34b5ccecdada2a07644c 100644 --- a/Cabal-tests/tests/ParserTests/ipi/issue-2276-ghc-9885.expr +++ b/Cabal-tests/tests/ParserTests/ipi/issue-2276-ghc-9885.expr @@ -1,2133 +1,2184 @@ -InstalledPackageInfo - {abiDepends = [AbiDependency - {depAbiHash = AbiHash "35a7f6be752ee4f7385cb5bf28677879", - depUnitId = UnitId "base-4.10.1.0"}], - abiHash = AbiHash "e04579c0363c9229351d1a0b394bf2d5", - author = "Andy Gill, Ross Paterson", - category = "Control", - ccOptions = [], - compatPackageKey = "transformers-0.5.2.0", - copyright = "", - cxxOptions = [], - dataDir = "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0", - depends = [UnitId "base-4.10.1.0"], - description = concat - ["A portable library of functor and monad transformers, inspired by\n", - "the paper \\\"Functional Programming with Overloading and Higher-Order\n", - "Polymorphism\\\", by Mark P Jones,\n", - "in /Advanced School of Functional Programming/, 1995\n", - "(<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).\n", - ".\n", - "This package contains:\n", - ".\n", - "* the monad transformer class (in \"Control.Monad.Trans.Class\")\n", - "and IO monad class (in \"Control.Monad.IO.Class\")\n", - ".\n", - "* concrete functor and monad transformers, each with associated\n", - "operations and functions to lift operations associated with other\n", - "transformers.\n", - ".\n", - "The package can be used on its own in portable Haskell code, in\n", - "which case operations need to be manually lifted through transformer\n", - "stacks (see \"Control.Monad.Trans.Class\" for some examples).\n", - "Alternatively, it can be used with the non-portable monad classes in\n", - "the @mtl@ or @monads-tf@ packages, which automatically lift operations\n", - "introduced by monad transformers through other transformers."], - exposed = True, - exposedModules = [ExposedModule - {exposedName = ModuleName "Control.Applicative.Backwards", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Applicative.Lift", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Signatures", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Class", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Cont", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Error", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Except", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Identity", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.List", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Maybe", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.RWS", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.RWS.Lazy", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.RWS.Strict", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Reader", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.State", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.State.Lazy", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.State.Strict", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Writer", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Writer.Lazy", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Writer.Strict", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Data.Functor.Constant", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Data.Functor.Reverse", - exposedReexport = Nothing}], - extraGHCiLibraries = [], - extraLibraries = [], - frameworkDirs = [], - frameworks = [], - haddockHTMLs = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0"], - haddockInterfaces = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock"], - hiddenModules = [], - homepage = "", - hsLibraries = ["HStransformers-0.5.2.0"], - importDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], - includeDirs = [], - includes = [], - indefinite = False, - installedComponentId_ = ComponentId "", - installedUnitId = UnitId "transformers-0.5.2.0", - instantiatedWith = [], - ldOptions = ["-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm", - "-lm"], - libVisibility = LibraryVisibilityPublic, - libraryDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], - libraryDynDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], - license = Right BSD3, - maintainer = "Ross Paterson <R.Paterson@city.ac.uk>", - pkgRoot = Nothing, - pkgUrl = "", - sourceLibName = LMainLibName, - sourcePackageId = PackageIdentifier - {pkgName = PackageName "transformers", - pkgVersion = mkVersion [0, 5, 2, 0]}, - stability = "", - synopsis = "Concrete functor and monad transformers", - trusted = False} +InstalledPackageInfo { + sourcePackageId = + PackageIdentifier { + pkgName = PackageName + "transformers", + pkgVersion = mkVersion + [0, 5, 2, 0]}, + sourceLibName = LMainLibName, + installedComponentId_ = + ComponentId "", + libVisibility = + LibraryVisibilityPublic, + installedUnitId = UnitId + "transformers-0.5.2.0", + instantiatedWith = [], + compatPackageKey = + "transformers-0.5.2.0", + license = Right BSD3, + copyright = "", + maintainer = + "Ross Paterson <R.Paterson@city.ac.uk>", + author = + "Andy Gill, Ross Paterson", + stability = "", + homepage = "", + pkgUrl = "", + synopsis = + "Concrete functor and monad transformers", + description = + concat + [ + "A portable library of functor and monad transformers, inspired by\n", + "the paper \\\"Functional Programming with Overloading and Higher-Order\n", + "Polymorphism\\\", by Mark P Jones,\n", + "in /Advanced School of Functional Programming/, 1995\n", + "(<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).\n", + ".\n", + "This package contains:\n", + ".\n", + "* the monad transformer class (in \"Control.Monad.Trans.Class\")\n", + "and IO monad class (in \"Control.Monad.IO.Class\")\n", + ".\n", + "* concrete functor and monad transformers, each with associated\n", + "operations and functions to lift operations associated with other\n", + "transformers.\n", + ".\n", + "The package can be used on its own in portable Haskell code, in\n", + "which case operations need to be manually lifted through transformer\n", + "stacks (see \"Control.Monad.Trans.Class\" for some examples).\n", + "Alternatively, it can be used with the non-portable monad classes in\n", + "the @mtl@ or @monads-tf@ packages, which automatically lift operations\n", + "introduced by monad transformers through other transformers."], + category = "Control", + abiHash = AbiHash + "e04579c0363c9229351d1a0b394bf2d5", + indefinite = False, + exposed = True, + exposedModules = [ + ExposedModule { + exposedName = ModuleName + "Control.Applicative.Backwards", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Applicative.Lift", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Signatures", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Class", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Cont", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Error", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Except", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Identity", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.List", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Maybe", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.RWS", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.RWS.Lazy", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.RWS.Strict", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Reader", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.State", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.State.Lazy", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.State.Strict", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Writer", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Writer.Lazy", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Writer.Strict", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Data.Functor.Constant", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Data.Functor.Reverse", + exposedReexport = Nothing}], + hiddenModules = [], + trusted = False, + importDirs = [ + "/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], + libraryDirs = [ + "/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], + libraryDirsStatic = [], + libraryDynDirs = [ + "/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], + dataDir = + "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0", + hsLibraries = [ + "HStransformers-0.5.2.0"], + extraLibraries = [], + extraLibrariesStatic = [], + extraGHCiLibraries = [], + includeDirs = [], + includes = [], + depends = [ + UnitId "base-4.10.1.0"], + abiDepends = [ + AbiDependency { + depUnitId = UnitId + "base-4.10.1.0", + depAbiHash = AbiHash + "35a7f6be752ee4f7385cb5bf28677879"}], + ccOptions = [], + cxxOptions = [], + ldOptions = [ + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm", + "-lm"], + frameworkDirs = [], + frameworks = [], + haddockInterfaces = + [ + "/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock"], + haddockHTMLs = [ + "/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0"], + pkgRoot = Nothing} diff --git a/Cabal-tests/tests/ParserTests/ipi/transformers.expr b/Cabal-tests/tests/ParserTests/ipi/transformers.expr index bf85b8959331c82070c61511e043abb26af22868..daef7608a772e3dc180d4ede302d6c0240c7b710 100644 --- a/Cabal-tests/tests/ParserTests/ipi/transformers.expr +++ b/Cabal-tests/tests/ParserTests/ipi/transformers.expr @@ -1,133 +1,184 @@ -InstalledPackageInfo - {abiDepends = [AbiDependency - {depAbiHash = AbiHash "35a7f6be752ee4f7385cb5bf28677879", - depUnitId = UnitId "base-4.10.1.0"}], - abiHash = AbiHash "e04579c0363c9229351d1a0b394bf2d5", - author = "Andy Gill, Ross Paterson", - category = "Control", - ccOptions = [], - compatPackageKey = "transformers-0.5.2.0", - copyright = "", - cxxOptions = [], - dataDir = "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0", - depends = [UnitId "base-4.10.1.0"], - description = concat - ["A portable library of functor and monad transformers, inspired by\n", - "the paper \\\"Functional Programming with Overloading and Higher-Order\n", - "Polymorphism\\\", by Mark P Jones,\n", - "in /Advanced School of Functional Programming/, 1995\n", - "(<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).\n", - ".\n", - "This package contains:\n", - ".\n", - "* the monad transformer class (in \"Control.Monad.Trans.Class\")\n", - "and IO monad class (in \"Control.Monad.IO.Class\")\n", - ".\n", - "* concrete functor and monad transformers, each with associated\n", - "operations and functions to lift operations associated with other\n", - "transformers.\n", - ".\n", - "The package can be used on its own in portable Haskell code, in\n", - "which case operations need to be manually lifted through transformer\n", - "stacks (see \"Control.Monad.Trans.Class\" for some examples).\n", - "Alternatively, it can be used with the non-portable monad classes in\n", - "the @mtl@ or @monads-tf@ packages, which automatically lift operations\n", - "introduced by monad transformers through other transformers."], - exposed = True, - exposedModules = [ExposedModule - {exposedName = ModuleName "Control.Applicative.Backwards", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Applicative.Lift", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Signatures", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Class", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Cont", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Error", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Except", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Identity", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.List", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Maybe", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.RWS", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.RWS.Lazy", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.RWS.Strict", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Reader", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.State", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.State.Lazy", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.State.Strict", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Writer", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Writer.Lazy", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Control.Monad.Trans.Writer.Strict", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Data.Functor.Constant", - exposedReexport = Nothing}, - ExposedModule - {exposedName = ModuleName "Data.Functor.Reverse", - exposedReexport = Nothing}], - extraGHCiLibraries = [], - extraLibraries = [], - frameworkDirs = [], - frameworks = [], - haddockHTMLs = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0"], - haddockInterfaces = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock"], - hiddenModules = [], - homepage = "", - hsLibraries = ["HStransformers-0.5.2.0"], - importDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], - includeDirs = [], - includes = [], - indefinite = False, - installedComponentId_ = ComponentId "", - installedUnitId = UnitId "transformers-0.5.2.0", - instantiatedWith = [], - ldOptions = [], - libVisibility = LibraryVisibilityPublic, - libraryDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], - libraryDynDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], - license = Right BSD3, - maintainer = "Ross Paterson <R.Paterson@city.ac.uk>", - pkgRoot = Just "/opt/ghc/8.2.2/lib/ghc-8.2.2", - pkgUrl = "", - sourceLibName = LMainLibName, - sourcePackageId = PackageIdentifier - {pkgName = PackageName "transformers", - pkgVersion = mkVersion [0, 5, 2, 0]}, - stability = "", - synopsis = "Concrete functor and monad transformers", - trusted = False} +InstalledPackageInfo { + sourcePackageId = + PackageIdentifier { + pkgName = PackageName + "transformers", + pkgVersion = mkVersion + [0, 5, 2, 0]}, + sourceLibName = LMainLibName, + installedComponentId_ = + ComponentId "", + libVisibility = + LibraryVisibilityPublic, + installedUnitId = UnitId + "transformers-0.5.2.0", + instantiatedWith = [], + compatPackageKey = + "transformers-0.5.2.0", + license = Right BSD3, + copyright = "", + maintainer = + "Ross Paterson <R.Paterson@city.ac.uk>", + author = + "Andy Gill, Ross Paterson", + stability = "", + homepage = "", + pkgUrl = "", + synopsis = + "Concrete functor and monad transformers", + description = + concat + [ + "A portable library of functor and monad transformers, inspired by\n", + "the paper \\\"Functional Programming with Overloading and Higher-Order\n", + "Polymorphism\\\", by Mark P Jones,\n", + "in /Advanced School of Functional Programming/, 1995\n", + "(<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).\n", + ".\n", + "This package contains:\n", + ".\n", + "* the monad transformer class (in \"Control.Monad.Trans.Class\")\n", + "and IO monad class (in \"Control.Monad.IO.Class\")\n", + ".\n", + "* concrete functor and monad transformers, each with associated\n", + "operations and functions to lift operations associated with other\n", + "transformers.\n", + ".\n", + "The package can be used on its own in portable Haskell code, in\n", + "which case operations need to be manually lifted through transformer\n", + "stacks (see \"Control.Monad.Trans.Class\" for some examples).\n", + "Alternatively, it can be used with the non-portable monad classes in\n", + "the @mtl@ or @monads-tf@ packages, which automatically lift operations\n", + "introduced by monad transformers through other transformers."], + category = "Control", + abiHash = AbiHash + "e04579c0363c9229351d1a0b394bf2d5", + indefinite = False, + exposed = True, + exposedModules = [ + ExposedModule { + exposedName = ModuleName + "Control.Applicative.Backwards", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Applicative.Lift", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Signatures", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Class", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Cont", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Error", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Except", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Identity", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.List", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Maybe", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.RWS", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.RWS.Lazy", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.RWS.Strict", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Reader", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.State", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.State.Lazy", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.State.Strict", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Writer", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Writer.Lazy", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Control.Monad.Trans.Writer.Strict", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Data.Functor.Constant", + exposedReexport = Nothing}, + ExposedModule { + exposedName = ModuleName + "Data.Functor.Reverse", + exposedReexport = Nothing}], + hiddenModules = [], + trusted = False, + importDirs = [ + "/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], + libraryDirs = [ + "/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], + libraryDirsStatic = [], + libraryDynDirs = [ + "/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"], + dataDir = + "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0", + hsLibraries = [ + "HStransformers-0.5.2.0"], + extraLibraries = [], + extraLibrariesStatic = [], + extraGHCiLibraries = [], + includeDirs = [], + includes = [], + depends = [ + UnitId "base-4.10.1.0"], + abiDepends = [ + AbiDependency { + depUnitId = UnitId + "base-4.10.1.0", + depAbiHash = AbiHash + "35a7f6be752ee4f7385cb5bf28677879"}], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + frameworkDirs = [], + frameworks = [], + haddockInterfaces = + [ + "/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock"], + haddockHTMLs = [ + "/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0"], + pkgRoot = Just + "/opt/ghc/8.2.2/lib/ghc-8.2.2"} diff --git a/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr b/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr index 5e85f4dd1ee412953040d50d5bbf32ffbedd7924..30e676cff1125ae3c9c14fa88c45600800846e34 100644 --- a/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr +++ b/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr @@ -44,8 +44,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -140,8 +142,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -245,8 +249,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/anynone.expr b/Cabal-tests/tests/ParserTests/regressions/anynone.expr index 9b96694836fd362b75cec6cf131480d63d6e52f2..17e61add69641759df20e22c50dd98a633ad7554 100644 --- a/Cabal-tests/tests/ParserTests/regressions/anynone.expr +++ b/Cabal-tests/tests/ParserTests/regressions/anynone.expr @@ -1,106 +1,117 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Library - {exposedModules = [ModuleName "AnyNone"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Just Simple, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "anynone", - pkgVersion = mkVersion [0]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV3_0, - stability = "", - subLibraries = [], - synopsis = "The -any none demo", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_0, + package = PackageIdentifier { + pkgName = PackageName "anynone", + pkgVersion = mkVersion [0]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "The -any none demo", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Just Simple, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [ + ModuleName "AnyNone"], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/assoc-cpp-options.check b/Cabal-tests/tests/ParserTests/regressions/assoc-cpp-options.check index fd1446fcebcb9b8ed4cbccb81004dec947bab4e0..ed0edf29738d81759449160e957af3d0be3d711c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/assoc-cpp-options.check +++ b/Cabal-tests/tests/ParserTests/regressions/assoc-cpp-options.check @@ -1 +1 @@ -'cpp-options': -traditional is not portable C-preprocessor flag +'cpp-options: -traditional' is not a portable C-preprocessor flag. diff --git a/Cabal-tests/tests/ParserTests/regressions/big-version.expr b/Cabal-tests/tests/ParserTests/regressions/big-version.expr index ab343e152388e7d2deef647103c2cbe3bce110b2..943e723c191ff6880e62979dcb161f5159abd309 100644 --- a/Cabal-tests/tests/ParserTests/regressions/big-version.expr +++ b/Cabal-tests/tests/ParserTests/regressions/big-version.expr @@ -1,97 +1,110 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "big-version", - pkgVersion = mkVersion [123456789]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV3_0, - stability = "", - subLibraries = [], - synopsis = "", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_0, + package = PackageIdentifier { + pkgName = PackageName + "big-version", + pkgVersion = mkVersion + [123456789]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr b/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr index 76ad95064a571c9087b5c5c02a19eecfd478457a..b2cca2ada9bfe08465f3f050618f5fa2094d560b 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr @@ -45,8 +45,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -131,8 +133,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -214,8 +218,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -281,8 +287,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -358,8 +366,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -437,8 +447,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -524,8 +536,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -608,8 +622,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common.expr b/Cabal-tests/tests/ParserTests/regressions/common.expr index 2d84ad0bb868de0f46e13019e6cf5d1478ca1ebe..0273441bfdc85531c35e7be1316700a9a2504978 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common.expr @@ -34,8 +34,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -100,8 +102,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common2.expr b/Cabal-tests/tests/ParserTests/regressions/common2.expr index 5da11ec118e1f6b5b3d15a9fedb042fbe898fc33..611ad39242c8f648dc173b74d9d70c1694472bd1 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common2.expr @@ -41,8 +41,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -121,8 +123,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -213,8 +217,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -295,8 +301,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -391,8 +399,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -470,8 +480,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -543,8 +555,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -618,8 +632,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common3.expr b/Cabal-tests/tests/ParserTests/regressions/common3.expr index 1bb9c67a6ec8e841e83ba14475f4b1644a8bbfdf..d4ce4267c9b65db48d92e23cb6eda355a6fca367 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common3.expr @@ -34,8 +34,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -110,8 +112,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.cabal b/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.cabal index 338109cabda8ccaa7a9da09a4b0709f1206c3aed..9fb2f39cbe9d76cc0bc975848cc0c38ad9e4c83a 100644 --- a/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.cabal +++ b/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.cabal @@ -29,8 +29,12 @@ tested-with: || ==8.8.1 extra-source-files: + -- this is fine + files/**/*.md + -- collection of invalid paths files/**/*.txt/ files/../foo.txt + files/<>/*.txt source-repository head type: git @@ -69,3 +73,6 @@ library -- this is the only case catched by Cabal-3.0.2.0 hs-source-dirs: ../../assoc/src + + -- globs not allowed in field + c-sources: c/**/*.c diff --git a/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.check b/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.check index 02fe04a457b0f796592327e04208e71a3ce7e19c..84eade4e941ca0b56df80424ca26e48721c35668 100644 --- a/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.check +++ b/Cabal-tests/tests/ParserTests/regressions/denormalised-paths.check @@ -1,12 +1,11 @@ The 'subdir' field of a source-repository is not a good relative path: "trailing same directory segment: ." +The paths 'files/<>/*.txt', 'c/**/*.c', 'C:foo/bar', '||s' are invalid on Windows, which would cause portability problems for this package. Windows file names cannot contain any of the characters ":*?<>|" and there a few reserved names including "aux", "nul", "con", "prn", "com1-9", "lpt1-9" and "clock$". 'hs-source-dirs: ../../assoc/src' is a relative path outside of the source tree. This will not work when generating a tarball with 'sdist'. -'extra-source-files: files/**/*.txt/' is not good relative path: trailing slash -'extra-source-files: files/../foo.txt' is not good relative path: parent directory segment: .. -'license-file: LICENSE2/' is not good relative path: trailing slash -'license-file: .' is not good relative path: trailing dot segment -'hs-source-dirs: src/.' is not good relative path: trailing same directory segment: . -'hs-source-dirs: src/../src' is not good relative path: parent directory segment: .. -'hs-source-dirs: src/../../assoc/src' is not good relative path: parent directory segment: .. -'hs-source-dirs: C:foo/bar' is not good relative path: reserved character ':' -'hs-source-dirs: ||s' is not good relative path: reserved character '|' -'hs-source-dirs: ../../assoc/src' is not good relative path: parent directory segment: .. +'extra-source-files: files/**/*.txt/' is not a good relative path: "trailing slash" +'extra-source-files: files/../foo.txt' is not a good relative path: "parent directory segment: .." +'license-file: LICENSE2/' is not a good relative path: "trailing slash" +'license-file: .' is not a good relative path: "trailing dot segment" +'hs-source-dirs: src/.' is not a good relative path: "trailing same directory segment: ." +'hs-source-dirs: src/../src' is not a good relative path: "parent directory segment: .." +'hs-source-dirs: src/../../assoc/src' is not a good relative path: "parent directory segment: .." +'hs-source-dirs: ../../assoc/src' is not a good relative path: "parent directory segment: .." diff --git a/Cabal-tests/tests/ParserTests/regressions/elif.expr b/Cabal-tests/tests/ParserTests/regressions/elif.expr index 311032fd1c608dcf5ff1531999658f004a3bc59f..b9ea1f18bc922b71a20e53779922e82f55a1861e 100644 --- a/Cabal-tests/tests/ParserTests/regressions/elif.expr +++ b/Cabal-tests/tests/ParserTests/regressions/elif.expr @@ -41,8 +41,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -108,8 +110,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/elif2.expr b/Cabal-tests/tests/ParserTests/regressions/elif2.expr index 5f0ab651fdc7331873ffbf50bdcb171915935e82..b4e7be7dc75c825a1f9f7096a306a07023c57dcf 100644 --- a/Cabal-tests/tests/ParserTests/regressions/elif2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/elif2.expr @@ -39,8 +39,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -108,8 +110,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -175,8 +179,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -244,8 +250,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -311,8 +319,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr b/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr index 5d89604a56560f077002201461b374c9790f4536..f544742992774a8db58fff19fe1d7b62051f180d 100644 --- a/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr +++ b/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr @@ -36,8 +36,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/extensions-paths-5054.check b/Cabal-tests/tests/ParserTests/regressions/extensions-paths-5054.check index 6268308c77df8ece6f6f1e54ee3e19fd72ca5639..d6a6dac2aa2058bc000c42dce5aa55e4ee92563b 100644 --- a/Cabal-tests/tests/ParserTests/regressions/extensions-paths-5054.check +++ b/Cabal-tests/tests/ParserTests/regressions/extensions-paths-5054.check @@ -1 +1 @@ -The package uses RebindableSyntax with OverloadedStrings or OverloadedLists in default-extensions, and also Paths_ autogen module. That configuration is known to cause compile failures with Cabal < 2.2. To use these default-extensions with Paths_ autogen module specify at least 'cabal-version: 2.2'. +Packages using RebindableSyntax with OverloadedStrings or OverloadedLists in default-extensions, in conjunction with the autogenerated module Paths_*, are known to cause compile failures with Cabal < 2.2. To use these default-extensions with a Paths_* autogen module, specify at least 'cabal-version: 2.2'. diff --git a/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr b/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr index 6f1a7dab72507de265ea9e23532dad0728ee40f4..dfddaf29a02c1fd46ac7ad290edfc6f3335709bb 100644 --- a/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr +++ b/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr @@ -47,8 +47,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -150,8 +152,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -242,8 +246,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -308,8 +314,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -440,8 +448,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "src"], hsc2hsOptions = [], @@ -563,8 +573,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "test"], hsc2hsOptions = [], @@ -650,8 +662,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "test"], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr b/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr index 9bf84ed14bc64e12e170555d42b504516a6cede9..2ddf3ba05566d15253dc27795f3eafbb6a62bc44 100644 --- a/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr +++ b/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr @@ -1,9840 +1,10188 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [_×_ - (UnqualComponentName "isdefinite-cpu") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-cpu")]))], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "exe"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-cpu")]))], - virtualModules = []}, - exeName = UnqualComponentName "isdefinite-cpu", - exeScope = ExecutablePublic, - modulePath = "Noop.hs"}}, - _×_ - (UnqualComponentName "isdefinite-gpu") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-gpu")]))], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "exe"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-gpu")]))], - virtualModules = []}, - exeName = UnqualComponentName "isdefinite-gpu", - exeScope = ExecutablePublic, - modulePath = "Noop.hs"}}, - _×_ - (UnqualComponentName "isdefinite") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "exe"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - exeName = UnqualComponentName "isdefinite", - exeScope = ExecutablePublic, - modulePath = "Noop.hs"}}, - _×_ - (UnqualComponentName "memcheck") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "exe"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - exeName = UnqualComponentName "memcheck", - exeScope = ExecutablePublic, - modulePath = "Memcheck.hs"}}], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `CNot (Var (PackageFlag (FlagName "lite")))`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Byte", - moduleReexportOriginalName = ModuleName - "Torch.Byte", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Byte.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Byte.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Byte.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Byte.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Char", - moduleReexportOriginalName = ModuleName - "Torch.Char", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Char.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Char.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Char.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Char.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Short", - moduleReexportOriginalName = ModuleName - "Torch.Short", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Short.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Short.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Short.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Short.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Int", - moduleReexportOriginalName = ModuleName - "Torch.Int", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Int.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Int.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Int.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Int.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float", - moduleReexportOriginalName = ModuleName - "Torch.Float", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Float.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Float.Storage", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}}, - CondBranch - {condBranchCondition = `Var (PackageFlag (FlagName "cuda"))`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `CNot (Var (PackageFlag (FlagName "lite")))`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Byte", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Byte", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Byte.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Byte.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Byte.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Byte.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Char", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Char", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Char.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Char.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Char.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Char.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Short", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Short", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Short.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Short.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Short.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Short.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Int", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Int", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Int.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Int.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Int.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Int.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Float", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Float", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Float.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Float.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Float.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Float.Storage", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}}], - condTreeConstraints = [Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-gpu")]))], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-gpu")]))], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Long", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Long", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Long.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Long.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Long.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Long.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Backprop", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Backprop", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Conv1d", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Conv1d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Conv2d", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Conv2d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Layers", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Layers", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Linear", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Linear", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Math", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Padding", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Padding", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Sampling", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Sampling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Criterion", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}}], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "dimensions") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 0])) - (LaterVersion (mkVersion [1, 0]))) - mainLibSet, - Dependency - (PackageName "safe-exceptions") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 1, 0])) - (LaterVersion (mkVersion [0, 1, 0]))) - mainLibSet, - Dependency - (PackageName "singletons") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 2])) - (LaterVersion (mkVersion [2, 2]))) - mainLibSet, - Dependency - (PackageName "text") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 2, 2])) - (LaterVersion (mkVersion [1, 2, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "hasktorch-cpu")])), - Dependency - (PackageName "hasktorch-ffi-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet], - condTreeData = Library - {exposedModules = [ModuleName "Torch.Core.Exceptions", - ModuleName "Torch.Core.Random", - ModuleName "Torch.Core.LogAdd"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [EnableExtension - LambdaCase, - EnableExtension - DataKinds, - EnableExtension - TypeFamilies, - EnableExtension - TypeSynonymInstances, - EnableExtension - ScopedTypeVariables, - EnableExtension - FlexibleContexts, - EnableExtension CPP], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "utils"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "dimensions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, 0])) - (LaterVersion - (mkVersion - [1, 0]))) - mainLibSet, - Dependency - (PackageName - "safe-exceptions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 1, - 0])) - (LaterVersion - (mkVersion - [0, - 1, - 0]))) - mainLibSet, - Dependency - (PackageName - "singletons") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, 2])) - (LaterVersion - (mkVersion - [2, 2]))) - mainLibSet, - Dependency - (PackageName - "text") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 2, - 2])) - (LaterVersion - (mkVersion - [1, - 2, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-cpu")])), - Dependency - (PackageName - "hasktorch-ffi-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Types.Numeric", - moduleReexportOriginalName = ModuleName - "Torch.Types.Numeric", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Long", - moduleReexportOriginalName = ModuleName - "Torch.Long", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Long.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Long.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Long.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Long.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double", - moduleReexportOriginalName = ModuleName - "Torch.Double", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Double.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Backprop", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Backprop", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Conv1d", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Conv1d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Conv2d", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Conv2d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Layers", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Layers", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Linear", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Linear", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Math", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Padding", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Padding", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Sampling", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Sampling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN.Criterion", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}, - condSubLibraries = [_×_ - (UnqualComponentName "hasktorch-cpu") - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `Var (PackageFlag (FlagName "lite"))`, - condBranchIfFalse = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned")]))], - condTreeData = Library - {exposedModules = [ModuleName - "Torch.Byte", - ModuleName - "Torch.Byte.Dynamic", - ModuleName - "Torch.Byte.Storage", - ModuleName - "Torch.Char", - ModuleName - "Torch.Char.Dynamic", - ModuleName - "Torch.Char.Storage", - ModuleName - "Torch.Short", - ModuleName - "Torch.Short.Dynamic", - ModuleName - "Torch.Short.Storage", - ModuleName - "Torch.Int", - ModuleName - "Torch.Int.Dynamic", - ModuleName - "Torch.Int.Storage", - ModuleName - "Torch.Float", - ModuleName - "Torch.Float.Dynamic", - ModuleName - "Torch.Float.Storage"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Byte.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Byte.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Byte.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Byte.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Byte.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Byte.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Byte.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Byte.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Byte.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Byte.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Byte.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Byte.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Byte.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Byte.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Byte.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Byte.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Byte.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Byte.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Byte.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Byte.Mask")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Byte"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Byte.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Byte.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Byte.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Byte.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Char.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Char.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Char.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Char.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Char.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Char.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Char.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Char.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Char.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Char.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Char.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Char.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Char.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Char.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Char.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Char.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Char.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Char.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Char.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Char.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Char.Mask")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Char"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Char.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Char.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Char.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Char.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Char.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Char.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Char.TensorMath")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Short.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Short.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Short.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Short.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Short.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Short.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Short.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Short.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Short.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Short.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Short.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Short.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Short.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Short.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Short.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Short.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Short.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Short.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Short.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Short.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Short.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Short.Dynamic.Tensor.Math.Pointwise.Signed")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Short"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Short.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Short.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Short.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Short.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Short.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Short.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.TH.Short.TensorMath")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Int.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Int.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Int.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Int.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Int.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Int.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Int.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Int.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Int.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Int.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Int.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Int.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Int.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Int.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Int.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Int.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Int.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Int.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Int.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Int.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Int.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Int.Dynamic.Tensor.Math.Pointwise.Signed")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Int"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Int.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Int.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Int.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Int.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Int.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Int.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.TH.Int.TensorMath")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Float.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Float.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Float.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Float.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Float.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Float.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Float.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Float.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Float.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Float.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Float.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Float.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Float.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Float.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Float.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Blas") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Lapack") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Floating") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Blas") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Lapack") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Floating") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Random.TH") - (ModuleName - "Torch.Indef.Float.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Random.TH") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Random.TH") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Random.TH") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Undefined.Tensor.Random.THC") - (ModuleName - "Torch.Undefined.Float.Tensor.Random.THC"), - _×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Float.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Float.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Float.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Float.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Float.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Float.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Float.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Float.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Float.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Float.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Float.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Float.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Float.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Float.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Float.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Float.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN") - (ModuleName - "Torch.Float.Dynamic.NN"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Activation") - (ModuleName - "Torch.Float.Dynamic.NN.Activation"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Pooling") - (ModuleName - "Torch.Float.Dynamic.NN.Pooling"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Criterion") - (ModuleName - "Torch.Float.Dynamic.NN.Criterion"), - _×_ - (ModuleName - "Torch.Indef.Static.NN") - (ModuleName - "Torch.Float.NN"), - _×_ - (ModuleName - "Torch.Indef.Static.NN") - (ModuleName - "Torch.Float.NN"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Activation") - (ModuleName - "Torch.Float.NN.Activation"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Backprop") - (ModuleName - "Torch.Float.NN.Backprop"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Conv1d") - (ModuleName - "Torch.Float.NN.Conv1d"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Conv2d") - (ModuleName - "Torch.Float.NN.Conv2d"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Criterion") - (ModuleName - "Torch.Float.NN.Criterion"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Layers") - (ModuleName - "Torch.Float.NN.Layers"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Linear") - (ModuleName - "Torch.Float.NN.Linear"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Math") - (ModuleName - "Torch.Float.NN.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Padding") - (ModuleName - "Torch.Float.NN.Padding"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Pooling") - (ModuleName - "Torch.Float.NN.Pooling"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Sampling") - (ModuleName - "Torch.Float.NN.Sampling")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Float"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Float.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Float.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Float.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Float.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Float.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Float.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Floating") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Blas") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Lapack") - (ModuleName - "Torch.FFI.TH.Float.TensorLapack"), - _×_ - (ModuleName - "Torch.Sig.NN") - (ModuleName - "Torch.FFI.TH.NN.Float"), - _×_ - (ModuleName - "Torch.Sig.Types.NN") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Random.TH") - (ModuleName - "Torch.FFI.TH.Float.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.TH") - (ModuleName - "Torch.FFI.TH.Float.TensorRandom"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.THC") - (ModuleName - "Torch.Undefined.Float.Tensor.Random.THC")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-floating"), - mixinPackageName = PackageName - "hasktorch"}], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned")]))], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-cpu"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-cpu"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "dimensions") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 0])) - (LaterVersion (mkVersion [1, 0]))) - mainLibSet, - Dependency - (PackageName "hasktorch-ffi-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "safe-exceptions") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 1, 0])) - (LaterVersion (mkVersion [0, 1, 0]))) - mainLibSet, - Dependency - (PackageName "singletons") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 2])) - (LaterVersion (mkVersion [2, 2]))) - mainLibSet, - Dependency - (PackageName "text") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 2, 2])) - (LaterVersion (mkVersion [1, 2, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-floating")])), - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-signed")]))], - condTreeData = Library - {exposedModules = [ModuleName "Torch.Long", - ModuleName "Torch.Long.Dynamic", - ModuleName "Torch.Long.Storage", - ModuleName "Torch.Double", - ModuleName "Torch.Double.Dynamic", - ModuleName "Torch.Double.Storage"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [EnableExtension - LambdaCase, - EnableExtension - DataKinds, - EnableExtension - TypeFamilies, - EnableExtension - TypeSynonymInstances, - EnableExtension - ScopedTypeVariables, - EnableExtension - FlexibleContexts, - EnableExtension - CPP], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath - "utils", - SymbolicPath "src"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Long.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Long.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Long.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Long.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Long.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Long.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Long.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Long.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Long.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Long.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Long.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Long.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Long.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Long.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Long.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Long.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Long.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Long.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Long.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Long.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Long.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Long.Dynamic.Tensor.Math.Pointwise.Signed")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Long"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Long.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Long.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Long.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Long.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.TH.Long.TensorMath")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Double.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Double.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Double.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Double.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Double.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Double.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Double.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Double.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Double.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Double.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Double.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Double.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Double.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Double.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Double.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Blas") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Lapack") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Floating") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Blas") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Lapack") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Floating") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Random.TH") - (ModuleName - "Torch.Indef.Double.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Random.TH") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Random.TH") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Random.TH") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Undefined.Tensor.Random.THC") - (ModuleName - "Torch.Undefined.Double.Tensor.Random.THC"), - _×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Double.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Double.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Double.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Double.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Double.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Double.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Double.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Double.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Double.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Double.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Double.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Double.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Double.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Double.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Double.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Double.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN") - (ModuleName - "Torch.Double.Dynamic.NN"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Activation") - (ModuleName - "Torch.Double.Dynamic.NN.Activation"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Pooling") - (ModuleName - "Torch.Double.Dynamic.NN.Pooling"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Criterion") - (ModuleName - "Torch.Double.Dynamic.NN.Criterion"), - _×_ - (ModuleName - "Torch.Indef.Static.NN") - (ModuleName - "Torch.Double.NN"), - _×_ - (ModuleName - "Torch.Indef.Static.NN") - (ModuleName - "Torch.Double.NN"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Activation") - (ModuleName - "Torch.Double.NN.Activation"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Backprop") - (ModuleName - "Torch.Double.NN.Backprop"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Conv1d") - (ModuleName - "Torch.Double.NN.Conv1d"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Conv2d") - (ModuleName - "Torch.Double.NN.Conv2d"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Criterion") - (ModuleName - "Torch.Double.NN.Criterion"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Layers") - (ModuleName - "Torch.Double.NN.Layers"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Linear") - (ModuleName - "Torch.Double.NN.Linear"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Math") - (ModuleName - "Torch.Double.NN.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Padding") - (ModuleName - "Torch.Double.NN.Padding"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Pooling") - (ModuleName - "Torch.Double.NN.Pooling"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Sampling") - (ModuleName - "Torch.Double.NN.Sampling")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.TH.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.TH.Long.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.TH.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.TH.Byte.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.TH.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.TH.Double"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.TH.Double.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.TH.Double.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.TH.Double.FreeStorage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.TH.Double.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.TH.Double.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.TH.Double.FreeTensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Floating") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Blas") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Lapack") - (ModuleName - "Torch.FFI.TH.Double.TensorLapack"), - _×_ - (ModuleName - "Torch.Sig.NN") - (ModuleName - "Torch.FFI.TH.NN.Double"), - _×_ - (ModuleName - "Torch.Sig.Types.NN") - (ModuleName - "Torch.Types.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Random.TH") - (ModuleName - "Torch.FFI.TH.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.TH") - (ModuleName - "Torch.FFI.TH.Double.TensorRandom"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.THC") - (ModuleName - "Torch.Undefined.Double.Tensor.Random.THC")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-floating"), - mixinPackageName = PackageName - "hasktorch"}], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [ModuleName - "Torch.Core.Exceptions", - ModuleName - "Torch.Core.Random", - ModuleName - "Torch.Core.LogAdd"], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "dimensions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 0])) - (LaterVersion - (mkVersion - [1, - 0]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-ffi-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "safe-exceptions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 1, - 0])) - (LaterVersion - (mkVersion - [0, - 1, - 0]))) - mainLibSet, - Dependency - (PackageName - "singletons") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, - 2])) - (LaterVersion - (mkVersion - [2, - 2]))) - mainLibSet, - Dependency - (PackageName - "text") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 2, - 2])) - (LaterVersion - (mkVersion - [1, - 2, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-floating")])), - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-signed")]))], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName "hasktorch-cpu"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Backprop", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Backprop", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Conv1d", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Conv1d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Conv2d", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Conv2d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Layers", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Layers", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Linear", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Linear", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Math", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Padding", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Padding", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.NN.Sampling", - moduleReexportOriginalName = ModuleName - "Torch.Double.NN.Sampling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Double.Dynamic.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Double.Dynamic.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Backprop", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Backprop", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Conv1d", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Conv1d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Conv2d", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Conv2d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Layers", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Layers", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Linear", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Linear", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Math", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Padding", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Padding", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.NN.Sampling", - moduleReexportOriginalName = ModuleName - "Torch.Float.NN.Sampling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.Dynamic.NN", - moduleReexportOriginalName = ModuleName - "Torch.Float.Dynamic.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.Dynamic.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Float.Dynamic.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.Dynamic.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Float.Dynamic.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Float.Dynamic.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Float.Dynamic.NN.Criterion", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}, - _×_ - (UnqualComponentName "hasktorch-gpu") - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `Var (PackageFlag (FlagName "lite"))`, - condBranchIfFalse = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned")]))], - condTreeData = Library - {exposedModules = [ModuleName - "Torch.Cuda.Byte", - ModuleName - "Torch.Cuda.Byte.Dynamic", - ModuleName - "Torch.Cuda.Byte.Storage", - ModuleName - "Torch.Cuda.Char", - ModuleName - "Torch.Cuda.Char.Dynamic", - ModuleName - "Torch.Cuda.Char.Storage", - ModuleName - "Torch.Cuda.Short", - ModuleName - "Torch.Cuda.Short.Dynamic", - ModuleName - "Torch.Cuda.Short.Storage", - ModuleName - "Torch.Cuda.Int", - ModuleName - "Torch.Cuda.Int.Dynamic", - ModuleName - "Torch.Cuda.Int.Storage"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Byte.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Byte.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Byte.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Byte.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Byte.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Byte.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Byte.Mask")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.FFI.THC.State"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.THC.Byte"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.THC.Byte.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.THC.Byte.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.THC.Byte.Storage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.THC.Byte.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.THC.Byte.TensorIndex"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.THC.Byte.TensorMasked"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.THC.Byte.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathCompare"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathCompareT"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathPairwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathScan"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.THC.Byte.TensorMode"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.THC.Byte.TensorScatterGather"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.THC.Byte.TensorSort"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.THC.Byte.TensorTopK")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Char.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Char.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Char.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Char.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Char.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Char.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Char.Mask")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.FFI.THC.State"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.THC.Char"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.THC.Char.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.THC.Char.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.THC.Char.Storage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.THC.Char.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.THC.Char.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.THC.Char.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.THC.Char.TensorIndex"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.THC.Char.TensorMasked"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.THC.Char.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.THC.Char.TensorMathCompare"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.THC.Char.TensorMathCompareT"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.THC.Char.TensorMathPairwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.THC.Char.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.THC.Char.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.THC.Char.TensorMathScan"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.THC.Char.TensorMode"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.THC.Char.TensorScatterGather"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.THC.Char.TensorSort"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.THC.Char.TensorTopK")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Short.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Short.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Short.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Short.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Short.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Short.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Pointwise.Signed")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.FFI.THC.State"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.THC.Short"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.THC.Short.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.THC.Short.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.THC.Short.Storage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.THC.Short.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.THC.Short.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.THC.Short.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.THC.Short.TensorIndex"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.THC.Short.TensorMasked"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.THC.Short.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.THC.Short.TensorMathCompare"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.THC.Short.TensorMathCompareT"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.THC.Short.TensorMathPairwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.THC.Short.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.THC.Short.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.THC.Short.TensorMathScan"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.THC.Short.TensorMode"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.THC.Short.TensorScatterGather"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.THC.Short.TensorSort"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.THC.Short.TensorTopK"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.THC.Short.TensorMathPointwise")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Int.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Int.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Int.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Int.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Int.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Int.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Pointwise.Signed")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.FFI.THC.State"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.THC.Int"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.THC.Int.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.THC.Int.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.THC.Int.Storage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.THC.Int.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.THC.Int.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.THC.Int.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.THC.Int.TensorIndex"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.THC.Int.TensorMasked"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.THC.Int.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.THC.Int.TensorMathCompare"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.THC.Int.TensorMathCompareT"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.THC.Int.TensorMathPairwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.THC.Int.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.THC.Int.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.THC.Int.TensorMathScan"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.THC.Int.TensorMode"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.THC.Int.TensorScatterGather"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.THC.Int.TensorSort"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.THC.Int.TensorTopK"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.THC.Int.TensorMathPointwise")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - mixinPackageName = PackageName - "hasktorch"}], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned")]))], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-gpu"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-gpu"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "dimensions") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 0])) - (LaterVersion (mkVersion [1, 0]))) - mainLibSet, - Dependency - (PackageName "hasktorch-ffi-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "safe-exceptions") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 1, 0])) - (LaterVersion (mkVersion [0, 1, 0]))) - mainLibSet, - Dependency - (PackageName "singletons") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 2])) - (LaterVersion (mkVersion [2, 2]))) - mainLibSet, - Dependency - (PackageName "text") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 2, 2])) - (LaterVersion (mkVersion [1, 2, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-floating")])), - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-signed")])), - Dependency - (PackageName "hasktorch-ffi-thc") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch-types-thc") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet], - condTreeData = Library - {exposedModules = [ModuleName "Torch.Cuda.Long", - ModuleName - "Torch.Cuda.Long.Dynamic", - ModuleName - "Torch.Cuda.Long.Storage", - ModuleName "Torch.Cuda.Double", - ModuleName - "Torch.Cuda.Double.Dynamic", - ModuleName - "Torch.Cuda.Double.Storage"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = ["-DCUDA", - "-DHASKTORCH_INTERNAL_CUDA"], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [EnableExtension - LambdaCase, - EnableExtension - DataKinds, - EnableExtension - TypeFamilies, - EnableExtension - TypeSynonymInstances, - EnableExtension - ScopedTypeVariables, - EnableExtension - FlexibleContexts, - EnableExtension - CPP], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath - "utils", - SymbolicPath "src"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Long.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Long.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Long.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Long.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Long.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Long.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Pointwise.Signed")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.FFI.THC.State"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.THC.Long"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.THC.Long.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.THC.Long.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.THC.Long.Storage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.THC.Long.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.THC.Long.TensorIndex"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.THC.Long.TensorMasked"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.THC.Long.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.THC.Long.TensorMathCompare"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.THC.Long.TensorMathCompareT"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.THC.Long.TensorMathPairwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.THC.Long.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.THC.Long.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.THC.Long.TensorMathScan"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.THC.Long.TensorMode"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.THC.Long.TensorScatterGather"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.THC.Long.TensorSort"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.THC.Long.TensorTopK"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.THC.Long.TensorMathPointwise")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - mixinPackageName = PackageName - "hasktorch"}, - Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Double.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Double.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Double.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Double.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Double.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Blas") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Lapack") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Floating") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Blas") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Lapack") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Floating") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Undefined.Tensor.Random.TH") - (ModuleName - "Torch.Undefined.Cuda.Double.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Undefined.Tensor.Math.Random.TH") - (ModuleName - "Torch.Undefined.Cuda.Double.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Random.THC") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Random.THC"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Random.THC") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Random.THC"), - _×_ - (ModuleName - "Torch.Indef.Storage") - (ModuleName - "Torch.Indef.Cuda.Double.Storage"), - _×_ - (ModuleName - "Torch.Indef.Storage.Copy") - (ModuleName - "Torch.Indef.Cuda.Double.Storage.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Copy") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Copy"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Index") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Index"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Masked") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Masked"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Compare"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.CompareT"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pairwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Reduce"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Scan"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Mode") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Mode"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.ScatterGather"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Sort") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Sort"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.TopK") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.TopK"), - _×_ - (ModuleName - "Torch.Indef.Types") - (ModuleName - "Torch.Cuda.Double.Types"), - _×_ - (ModuleName - "Torch.Indef.Index") - (ModuleName - "Torch.Cuda.Double.Index"), - _×_ - (ModuleName - "Torch.Indef.Mask") - (ModuleName - "Torch.Cuda.Double.Mask"), - _×_ - (ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN") - (ModuleName - "Torch.Cuda.Double.Dynamic.NN"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Activation") - (ModuleName - "Torch.Cuda.Double.Dynamic.NN.Activation"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Pooling") - (ModuleName - "Torch.Cuda.Double.Dynamic.NN.Pooling"), - _×_ - (ModuleName - "Torch.Indef.Dynamic.NN.Criterion") - (ModuleName - "Torch.Cuda.Double.Dynamic.NN.Criterion"), - _×_ - (ModuleName - "Torch.Indef.Static.NN") - (ModuleName - "Torch.Cuda.Double.NN"), - _×_ - (ModuleName - "Torch.Indef.Static.NN") - (ModuleName - "Torch.Cuda.Double.NN"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Activation") - (ModuleName - "Torch.Cuda.Double.NN.Activation"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Backprop") - (ModuleName - "Torch.Cuda.Double.NN.Backprop"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Conv1d") - (ModuleName - "Torch.Cuda.Double.NN.Conv1d"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Conv2d") - (ModuleName - "Torch.Cuda.Double.NN.Conv2d"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Criterion") - (ModuleName - "Torch.Cuda.Double.NN.Criterion"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Layers") - (ModuleName - "Torch.Cuda.Double.NN.Layers"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Linear") - (ModuleName - "Torch.Cuda.Double.NN.Linear"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Math") - (ModuleName - "Torch.Cuda.Double.NN.Math"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Padding") - (ModuleName - "Torch.Cuda.Double.NN.Padding"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Pooling") - (ModuleName - "Torch.Cuda.Double.NN.Pooling"), - _×_ - (ModuleName - "Torch.Indef.Static.NN.Sampling") - (ModuleName - "Torch.Cuda.Double.NN.Sampling")], - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.Index.Tensor") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Index.TensorFree") - (ModuleName - "Torch.FFI.THC.Long.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.Tensor") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.TensorFree") - (ModuleName - "Torch.FFI.THC.Byte.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Mask.MathReduce") - (ModuleName - "Torch.FFI.THC.Byte.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.State") - (ModuleName - "Torch.FFI.THC.State"), - _×_ - (ModuleName - "Torch.Sig.Types.Global") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Types") - (ModuleName - "Torch.Types.THC.Double"), - _×_ - (ModuleName - "Torch.Sig.Storage") - (ModuleName - "Torch.FFI.THC.Double.Storage"), - _×_ - (ModuleName - "Torch.Sig.Storage.Copy") - (ModuleName - "Torch.FFI.THC.Double.StorageCopy"), - _×_ - (ModuleName - "Torch.Sig.Storage.Memory") - (ModuleName - "Torch.FFI.THC.Double.Storage"), - _×_ - (ModuleName - "Torch.Sig.Tensor") - (ModuleName - "Torch.FFI.THC.Double.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Copy") - (ModuleName - "Torch.FFI.THC.Double.TensorCopy"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Memory") - (ModuleName - "Torch.FFI.THC.Double.Tensor"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Index") - (ModuleName - "Torch.FFI.THC.Double.TensorIndex"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Masked") - (ModuleName - "Torch.FFI.THC.Double.TensorMasked"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math") - (ModuleName - "Torch.FFI.THC.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Compare") - (ModuleName - "Torch.FFI.THC.Double.TensorMathCompare"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.CompareT") - (ModuleName - "Torch.FFI.THC.Double.TensorMathCompareT"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pairwise") - (ModuleName - "Torch.FFI.THC.Double.TensorMathPairwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise") - (ModuleName - "Torch.FFI.THC.Double.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce") - (ModuleName - "Torch.FFI.THC.Double.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Scan") - (ModuleName - "Torch.FFI.THC.Double.TensorMathScan"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Mode") - (ModuleName - "Torch.FFI.THC.Double.TensorMode"), - _×_ - (ModuleName - "Torch.Sig.Tensor.ScatterGather") - (ModuleName - "Torch.FFI.THC.Double.TensorScatterGather"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Sort") - (ModuleName - "Torch.FFI.THC.Double.TensorSort"), - _×_ - (ModuleName - "Torch.Sig.Tensor.TopK") - (ModuleName - "Torch.FFI.THC.Double.TensorTopK"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.FFI.THC.Double.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.FFI.THC.Double.TensorMathPointwise"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.FFI.THC.Double.TensorMathReduce"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Floating") - (ModuleName - "Torch.FFI.THC.Double.TensorMath"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Blas") - (ModuleName - "Torch.FFI.THC.Double.TensorMathBlas"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Lapack") - (ModuleName - "Torch.FFI.THC.Double.TensorMathMagma"), - _×_ - (ModuleName - "Torch.Sig.NN") - (ModuleName - "Torch.FFI.THC.NN.Double"), - _×_ - (ModuleName - "Torch.Sig.Types.NN") - (ModuleName - "Torch.Types.THC"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Random.TH") - (ModuleName - "Torch.Undefined.Cuda.Double.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.TH") - (ModuleName - "Torch.Undefined.Cuda.Double.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.THC") - (ModuleName - "Torch.FFI.THC.Double.TensorRandom")]}, - mixinLibraryName = LSubLibName - (UnqualComponentName - "hasktorch-indef-floating"), - mixinPackageName = PackageName - "hasktorch"}], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [ModuleName - "Torch.Core.Exceptions", - ModuleName - "Torch.Core.Random", - ModuleName - "Torch.Core.LogAdd"], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "dimensions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 0])) - (LaterVersion - (mkVersion - [1, - 0]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-ffi-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-types-th") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "safe-exceptions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 1, - 0])) - (LaterVersion - (mkVersion - [0, - 1, - 0]))) - mainLibSet, - Dependency - (PackageName - "singletons") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, - 2])) - (LaterVersion - (mkVersion - [2, - 2]))) - mainLibSet, - Dependency - (PackageName - "text") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 2, - 2])) - (LaterVersion - (mkVersion - [1, - 2, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-floating")])), - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "hasktorch-indef-signed")])), - Dependency - (PackageName - "hasktorch-ffi-thc") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-types-thc") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName "hasktorch-gpu"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Backprop", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Backprop", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Conv1d", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Conv1d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Conv2d", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Conv2d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Layers", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Layers", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Linear", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Linear", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Math", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Padding", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Padding", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.NN.Sampling", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.NN.Sampling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Cuda.Double.Dynamic.NN.Criterion", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}, - _×_ - (UnqualComponentName "hasktorch-indef-unsigned") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch-signatures-partial") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch-indef") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = DefaultRenaming, - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.NN") - (ModuleName - "Torch.Undefined.NN"), - _×_ - (ModuleName - "Torch.Sig.Types.NN") - (ModuleName - "Torch.Undefined.Types.NN"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Blas") - (ModuleName - "Torch.Undefined.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Floating") - (ModuleName - "Torch.Undefined.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Lapack") - (ModuleName - "Torch.Undefined.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Signed") - (ModuleName - "Torch.Undefined.Tensor.Math.Pointwise.Signed"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Undefined.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Undefined.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Random.TH") - (ModuleName - "Torch.Undefined.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.TH") - (ModuleName - "Torch.Undefined.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.THC") - (ModuleName - "Torch.Undefined.Tensor.Random.THC")]}, - mixinLibraryName = LMainLibName, - mixinPackageName = PackageName - "hasktorch-indef"}], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-signatures-partial") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-indef") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-indef-unsigned"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Mask", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Mask", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Types", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Types", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Storage.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Storage.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Print", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Print", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Masked", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Masked", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Mode", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Mode", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Sort", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Sort", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.TopK", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.TopK", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Masked", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Masked", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Compare", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Compare", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Scan", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Scan", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Mode", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Mode", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.ScatterGather", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.ScatterGather", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Sort", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Sort", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.TopK", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.TopK", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}, - _×_ - (UnqualComponentName "hasktorch-indef-signed") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch-signatures-partial") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet, - Dependency - (PackageName "hasktorch-indef") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [Mixin - {mixinIncludeRenaming = IncludeRenaming - {includeProvidesRn = DefaultRenaming, - includeRequiresRn = ModuleRenaming - [_×_ - (ModuleName - "Torch.Sig.NN") - (ModuleName - "Torch.Undefined.NN"), - _×_ - (ModuleName - "Torch.Sig.Types.NN") - (ModuleName - "Torch.Undefined.Types.NN"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Blas") - (ModuleName - "Torch.Undefined.Tensor.Math.Blas"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Floating") - (ModuleName - "Torch.Undefined.Tensor.Math.Floating"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Lapack") - (ModuleName - "Torch.Undefined.Tensor.Math.Lapack"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Pointwise.Floating") - (ModuleName - "Torch.Undefined.Tensor.Math.Pointwise.Floating"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Reduce.Floating") - (ModuleName - "Torch.Undefined.Tensor.Math.Reduce.Floating"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Math.Random.TH") - (ModuleName - "Torch.Undefined.Tensor.Math.Random.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.TH") - (ModuleName - "Torch.Undefined.Tensor.Random.TH"), - _×_ - (ModuleName - "Torch.Sig.Tensor.Random.THC") - (ModuleName - "Torch.Undefined.Tensor.Random.THC")]}, - mixinLibraryName = LMainLibName, - mixinPackageName = PackageName - "hasktorch-indef"}], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-signatures-partial") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-indef") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-indef-signed"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Mask", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Mask", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Types", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Types", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Storage.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Storage.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Print", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Print", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Masked", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Masked", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Mode", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Mode", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Sort", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Sort", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.TopK", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.TopK", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Masked", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Masked", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Compare", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Compare", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Scan", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Scan", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Mode", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Mode", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.ScatterGather", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.ScatterGather", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Sort", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Sort", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.TopK", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.TopK", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}, - _×_ - (UnqualComponentName "hasktorch-indef-floating") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "hasktorch-indef") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "hasktorch-signatures-partial") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [0, 0, 1])) - (LaterVersion (mkVersion [0, 0, 1]))) - (EarlierVersion (mkVersion [0, 0, 2]))) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "hasktorch-indef") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "hasktorch-signatures-partial") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 0, - 1])) - (LaterVersion - (mkVersion - [0, - 0, - 1]))) - (EarlierVersion - (mkVersion - [0, - 0, - 2]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LSubLibName - (UnqualComponentName - "hasktorch-indef-floating"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Mask", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Mask", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Types", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Types", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Storage", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Storage", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Storage.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Storage.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Print", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Print", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Masked", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Masked", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Compare", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.CompareT", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pairwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Scan", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Mode", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Mode", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.ScatterGather", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Sort", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Sort", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.TopK", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.TopK", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Copy", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Copy", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Index", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Index", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Masked", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Masked", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Compare", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Compare", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.CompareT", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pairwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Scan", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Scan", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Mode", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Mode", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.ScatterGather", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.ScatterGather", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Sort", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Sort", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.TopK", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.TopK", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Blas", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Blas", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Floating", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Floating", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Lapack", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Lapack", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Random.TH", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Random.TH", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Random.THC", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Random.THC", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Random.TH", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.Tensor.Math.Random.TH", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Blas", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Blas", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Floating", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Floating", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Lapack", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Lapack", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Floating", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Pointwise.Floating", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce.Floating", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Reduce.Floating", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Random.TH", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Random.TH", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Random.THC", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Random.THC", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.Tensor.Math.Random.TH", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.Tensor.Math.Random.TH", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.NN", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Dynamic.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Dynamic.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Activation", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Activation", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Backprop", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Backprop", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Conv1d", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Conv1d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Conv2d", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Conv2d", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Criterion", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Criterion", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Layers", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Layers", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Linear", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Linear", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Math", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Math", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Padding", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Padding", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Pooling", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Pooling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Indef.Static.NN.Sampling", - moduleReexportOriginalName = ModuleName - "Torch.Indef.Static.NN.Sampling", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Undefined.Tensor.Math.Random.TH", - moduleReexportOriginalName = ModuleName - "Torch.Undefined.Tensor.Math.Random.TH", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Undefined.Tensor.Random.TH", - moduleReexportOriginalName = ModuleName - "Torch.Undefined.Tensor.Random.TH", - moduleReexportOriginalPackage = Nothing}, - ModuleReexport - {moduleReexportName = ModuleName - "Torch.Undefined.Tensor.Random.THC", - moduleReexportOriginalName = ModuleName - "Torch.Undefined.Tensor.Random.THC", - moduleReexportOriginalPackage = Nothing}], - signatures = []}}], - condTestSuites = [_×_ - (UnqualComponentName "spec") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "QuickCheck") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 11])) - (LaterVersion (mkVersion [2, 11]))) - mainLibSet, - Dependency - (PackageName "backprop") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 2, 5])) - (LaterVersion (mkVersion [0, 2, 5]))) - mainLibSet, - Dependency - (PackageName "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion (mkVersion [4, 7])) - (LaterVersion (mkVersion [4, 7]))) - (EarlierVersion (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "dimensions") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 0])) - (LaterVersion (mkVersion [1, 0]))) - mainLibSet, - Dependency - (PackageName "ghc-typelits-natnormalise") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "hasktorch") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "hspec") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 4, 4])) - (LaterVersion (mkVersion [2, 4, 4]))) - mainLibSet, - Dependency - (PackageName "singletons") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 2])) - (LaterVersion (mkVersion [2, 2]))) - mainLibSet, - Dependency - (PackageName "mtl") - (UnionVersionRanges - (ThisVersion (mkVersion [2, 2, 2])) - (LaterVersion (mkVersion [2, 2, 2]))) - mainLibSet, - Dependency - (PackageName "microlens-platform") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 3, 10])) - (LaterVersion (mkVersion [0, 3, 10]))) - mainLibSet, - Dependency - (PackageName "monad-loops") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 4, 3])) - (LaterVersion (mkVersion [0, 4, 3]))) - mainLibSet, - Dependency - (PackageName "time") - (UnionVersionRanges - (ThisVersion (mkVersion [1, 8, 0])) - (LaterVersion (mkVersion [1, 8, 0]))) - mainLibSet, - Dependency - (PackageName "transformers") - (UnionVersionRanges - (ThisVersion (mkVersion [0, 5, 5])) - (LaterVersion (mkVersion [0, 5, 5]))) - mainLibSet, - Dependency - (PackageName "generic-lens") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = TestSuite - {testBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [EnableExtension - LambdaCase, - EnableExtension - DataKinds, - EnableExtension - TypeFamilies, - EnableExtension - TypeSynonymInstances, - EnableExtension - ScopedTypeVariables, - EnableExtension - FlexibleContexts, - EnableExtension - CPP], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath - "tests"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [ModuleName "Orphans", - ModuleName - "MemorySpec", - ModuleName - "RawLapackSVDSpec", - ModuleName - "GarbageCollectionSpec", - ModuleName - "Torch.Prelude.Extras", - ModuleName - "Torch.Core.LogAddSpec", - ModuleName - "Torch.Core.RandomSpec", - ModuleName - "Torch.Static.NN.AbsSpec", - ModuleName - "Torch.Static.NN.LinearSpec"], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [Dependency - (PackageName - "QuickCheck") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, - 11])) - (LaterVersion - (mkVersion - [2, - 11]))) - mainLibSet, - Dependency - (PackageName - "backprop") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 2, - 5])) - (LaterVersion - (mkVersion - [0, - 2, - 5]))) - mainLibSet, - Dependency - (PackageName - "base") - (IntersectVersionRanges - (UnionVersionRanges - (ThisVersion - (mkVersion - [4, - 7])) - (LaterVersion - (mkVersion - [4, - 7]))) - (EarlierVersion - (mkVersion - [5]))) - mainLibSet, - Dependency - (PackageName - "dimensions") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 0])) - (LaterVersion - (mkVersion - [1, - 0]))) - mainLibSet, - Dependency - (PackageName - "ghc-typelits-natnormalise") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "hasktorch") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "hspec") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, - 4, - 4])) - (LaterVersion - (mkVersion - [2, - 4, - 4]))) - mainLibSet, - Dependency - (PackageName - "singletons") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, - 2])) - (LaterVersion - (mkVersion - [2, - 2]))) - mainLibSet, - Dependency - (PackageName - "mtl") - (UnionVersionRanges - (ThisVersion - (mkVersion - [2, - 2, - 2])) - (LaterVersion - (mkVersion - [2, - 2, - 2]))) - mainLibSet, - Dependency - (PackageName - "microlens-platform") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 3, - 10])) - (LaterVersion - (mkVersion - [0, - 3, - 10]))) - mainLibSet, - Dependency - (PackageName - "monad-loops") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 4, - 3])) - (LaterVersion - (mkVersion - [0, - 4, - 3]))) - mainLibSet, - Dependency - (PackageName - "time") - (UnionVersionRanges - (ThisVersion - (mkVersion - [1, - 8, - 0])) - (LaterVersion - (mkVersion - [1, - 8, - 0]))) - mainLibSet, - Dependency - (PackageName - "transformers") - (UnionVersionRanges - (ThisVersion - (mkVersion - [0, - 5, - 5])) - (LaterVersion - (mkVersion - [0, - 5, - 5]))) - mainLibSet, - Dependency - (PackageName - "generic-lens") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - testInterface = TestSuiteExeV10 - (mkVersion [1, 0]) "Spec.hs", - testName = UnqualComponentName ""}}], - genPackageFlags = [MkPackageFlag - {flagDefault = False, - flagDescription = "build with THC support", - flagManual = False, - flagName = FlagName "cuda"}, - MkPackageFlag - {flagDefault = False, - flagDescription = "only build with Double and Long support", - flagManual = False, - flagName = FlagName "lite"}], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "Hasktorch dev team", - benchmarks = [], - bugReports = "https://github.com/hasktorch/hasktorch/issues", - buildTypeRaw = Just Simple, - category = "Tensors, Machine Learning, AI", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "Hasktorch is a library for tensors and neural networks in Haskell. It is an independent open source community project which leverages the core C libraries shared by Torch and PyTorch. This library leverages @cabal v2-build@ and @backpack@. *Note that this project is in early development and should only be used by contributing developers. Expect substantial changes to the library API as it evolves. Contributions and PRs are welcome (see details on github).*", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "https://github.com/hasktorch/hasktorch#readme", - library = Nothing, - licenseFiles = [], - licenseRaw = Left - (License (ELicense (ELicenseId BSD_3_Clause) Nothing)), - maintainer = "Sam Stites <fnz@fgvgrf.vb>, Austin Huang <nhfgvau@nyhz.zvg.rqh> - cipher:ROT13", - package = PackageIdentifier - {pkgName = PackageName "hasktorch", - pkgVersion = mkVersion [0, 0, 1, 0]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [SourceRepo - {repoBranch = Nothing, - repoKind = RepoHead, - repoLocation = Just - "https://github.com/hasktorch/hasktorch", - repoModule = Nothing, - repoSubdir = Nothing, - repoTag = Nothing, - repoType = Just (KnownRepoType Git)}], - specVersion = CabalSpecV2_2, - stability = "", - subLibraries = [], - synopsis = "Torch for tensors and neural networks in Haskell", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV2_2, + package = PackageIdentifier { + pkgName = PackageName + "hasktorch", + pkgVersion = mkVersion + [0, 0, 1, 0]}, + licenseRaw = Left + (License + (ELicense + (ELicenseId BSD_3_Clause) + Nothing)), + licenseFiles = [], + copyright = "", + maintainer = + "Sam Stites <fnz@fgvgrf.vb>, Austin Huang <nhfgvau@nyhz.zvg.rqh> - cipher:ROT13", + author = "Hasktorch dev team", + stability = "", + testedWith = [], + homepage = + "https://github.com/hasktorch/hasktorch#readme", + pkgUrl = "", + bugReports = + "https://github.com/hasktorch/hasktorch/issues", + sourceRepos = [ + SourceRepo { + repoKind = RepoHead, + repoType = Just + (KnownRepoType Git), + repoLocation = Just + "https://github.com/hasktorch/hasktorch", + repoModule = Nothing, + repoBranch = Nothing, + repoTag = Nothing, + repoSubdir = Nothing}], + synopsis = + "Torch for tensors and neural networks in Haskell", + description = + "Hasktorch is a library for tensors and neural networks in Haskell. It is an independent open source community project which leverages the core C libraries shared by Torch and PyTorch. This library leverages @cabal v2-build@ and @backpack@. *Note that this project is in early development and should only be used by contributing developers. Expect substantial changes to the library API as it evolves. Contributions and PRs are welcome (see details on github).*", + category = + "Tensors, Machine Learning, AI", + customFieldsPD = [], + buildTypeRaw = Just Simple, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [ + MkPackageFlag { + flagName = FlagName "cuda", + flagDescription = + "build with THC support", + flagDefault = False, + flagManual = False}, + MkPackageFlag { + flagName = FlagName "lite", + flagDescription = + "only build with Double and Long support", + flagDefault = False, + flagManual = False}], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [ + ModuleName + "Torch.Core.Exceptions", + ModuleName "Torch.Core.Random", + ModuleName "Torch.Core.LogAdd"], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Types.Numeric", + moduleReexportName = ModuleName + "Torch.Types.Numeric"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Long", + moduleReexportName = ModuleName + "Torch.Long"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Long.Dynamic", + moduleReexportName = ModuleName + "Torch.Long.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Long.Storage", + moduleReexportName = ModuleName + "Torch.Long.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Double", + moduleReexportName = ModuleName + "Torch.Double"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic", + moduleReexportName = ModuleName + "Torch.Double.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Storage", + moduleReexportName = ModuleName + "Torch.Double.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Double.NN", + moduleReexportName = ModuleName + "Torch.Double.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Activation", + moduleReexportName = ModuleName + "Torch.Double.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Backprop", + moduleReexportName = ModuleName + "Torch.Double.NN.Backprop"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Conv1d", + moduleReexportName = ModuleName + "Torch.Double.NN.Conv1d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Conv2d", + moduleReexportName = ModuleName + "Torch.Double.NN.Conv2d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Double.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Layers", + moduleReexportName = ModuleName + "Torch.Double.NN.Layers"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Linear", + moduleReexportName = ModuleName + "Torch.Double.NN.Linear"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Math", + moduleReexportName = ModuleName + "Torch.Double.NN.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Padding", + moduleReexportName = ModuleName + "Torch.Double.NN.Padding"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Double.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Sampling", + moduleReexportName = ModuleName + "Torch.Double.NN.Sampling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN.Activation", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN.Criterion"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "utils"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [ + EnableExtension LambdaCase, + EnableExtension DataKinds, + EnableExtension TypeFamilies, + EnableExtension + TypeSynonymInstances, + EnableExtension + ScopedTypeVariables, + EnableExtension + FlexibleContexts, + EnableExtension CPP], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName "safe-exceptions") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 1, 0])) + (LaterVersion + (mkVersion [0, 1, 0]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "text") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 2, 2])) + (LaterVersion + (mkVersion [1, 2, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-cpu")])), + Dependency + (PackageName "hasktorch-ffi-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName "safe-exceptions") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 1, 0])) + (LaterVersion + (mkVersion [0, 1, 0]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "text") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 2, 2])) + (LaterVersion + (mkVersion [1, 2, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-cpu")])), + Dependency + (PackageName "hasktorch-ffi-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `CNot (Var (PackageFlag (FlagName "lite")))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Byte", + moduleReexportName = ModuleName + "Torch.Byte"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Byte.Dynamic", + moduleReexportName = ModuleName + "Torch.Byte.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Byte.Storage", + moduleReexportName = ModuleName + "Torch.Byte.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Char", + moduleReexportName = ModuleName + "Torch.Char"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Char.Dynamic", + moduleReexportName = ModuleName + "Torch.Char.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Char.Storage", + moduleReexportName = ModuleName + "Torch.Char.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Short", + moduleReexportName = ModuleName + "Torch.Short"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Short.Dynamic", + moduleReexportName = ModuleName + "Torch.Short.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Short.Storage", + moduleReexportName = ModuleName + "Torch.Short.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Int", + moduleReexportName = ModuleName + "Torch.Int"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Int.Dynamic", + moduleReexportName = ModuleName + "Torch.Int.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Int.Storage", + moduleReexportName = ModuleName + "Torch.Int.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Float", + moduleReexportName = ModuleName + "Torch.Float"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.Dynamic", + moduleReexportName = ModuleName + "Torch.Float.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.Storage", + moduleReexportName = ModuleName + "Torch.Float.Storage"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = Nothing}, + CondBranch { + condBranchCondition = + `Var (PackageFlag (FlagName "cuda"))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Long", + moduleReexportName = ModuleName + "Torch.Cuda.Long"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Long.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Long.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Long.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Long.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Double", + moduleReexportName = ModuleName + "Torch.Cuda.Double"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Activation", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Backprop", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Backprop"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Conv1d", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Conv1d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Conv2d", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Conv2d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Layers", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Layers"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Linear", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Linear"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Math", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Padding", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Padding"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Sampling", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Sampling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN.Activation", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN.Criterion"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-gpu")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-gpu")]))], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `CNot (Var (PackageFlag (FlagName "lite")))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Byte", + moduleReexportName = ModuleName + "Torch.Cuda.Byte"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Byte.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Byte.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Byte.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Byte.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Char", + moduleReexportName = ModuleName + "Torch.Cuda.Char"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Char.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Char.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Char.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Char.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Short", + moduleReexportName = ModuleName + "Torch.Cuda.Short"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Short.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Short.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Short.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Short.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Int", + moduleReexportName = ModuleName + "Torch.Cuda.Int"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Int.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Int.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Int.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Int.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Cuda.Float", + moduleReexportName = ModuleName + "Torch.Cuda.Float"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Float.Dynamic", + moduleReexportName = ModuleName + "Torch.Cuda.Float.Dynamic"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Float.Storage", + moduleReexportName = ModuleName + "Torch.Cuda.Float.Storage"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = Nothing}]}, + condBranchIfFalse = Nothing}]}, + condSubLibraries = + [ + _×_ + (UnqualComponentName + "hasktorch-cpu") + CondNode { + condTreeData = + Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-cpu"), + exposedModules = [ + ModuleName "Torch.Long", + ModuleName "Torch.Long.Dynamic", + ModuleName "Torch.Long.Storage", + ModuleName "Torch.Double", + ModuleName + "Torch.Double.Dynamic", + ModuleName + "Torch.Double.Storage"], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Double.NN", + moduleReexportName = ModuleName + "Torch.Double.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Activation", + moduleReexportName = ModuleName + "Torch.Double.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Backprop", + moduleReexportName = ModuleName + "Torch.Double.NN.Backprop"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Conv1d", + moduleReexportName = ModuleName + "Torch.Double.NN.Conv1d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Conv2d", + moduleReexportName = ModuleName + "Torch.Double.NN.Conv2d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Double.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Layers", + moduleReexportName = ModuleName + "Torch.Double.NN.Layers"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Linear", + moduleReexportName = ModuleName + "Torch.Double.NN.Linear"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Math", + moduleReexportName = ModuleName + "Torch.Double.NN.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Padding", + moduleReexportName = ModuleName + "Torch.Double.NN.Padding"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Double.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.NN.Sampling", + moduleReexportName = ModuleName + "Torch.Double.NN.Sampling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN.Activation", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Double.Dynamic.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Double.Dynamic.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Float.NN", + moduleReexportName = ModuleName + "Torch.Float.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Activation", + moduleReexportName = ModuleName + "Torch.Float.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Backprop", + moduleReexportName = ModuleName + "Torch.Float.NN.Backprop"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Conv1d", + moduleReexportName = ModuleName + "Torch.Float.NN.Conv1d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Conv2d", + moduleReexportName = ModuleName + "Torch.Float.NN.Conv2d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Float.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Layers", + moduleReexportName = ModuleName + "Torch.Float.NN.Layers"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Linear", + moduleReexportName = ModuleName + "Torch.Float.NN.Linear"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Math", + moduleReexportName = ModuleName + "Torch.Float.NN.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Padding", + moduleReexportName = ModuleName + "Torch.Float.NN.Padding"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Float.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.NN.Sampling", + moduleReexportName = ModuleName + "Torch.Float.NN.Sampling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.Dynamic.NN", + moduleReexportName = ModuleName + "Torch.Float.Dynamic.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.Dynamic.NN.Activation", + moduleReexportName = ModuleName + "Torch.Float.Dynamic.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.Dynamic.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Float.Dynamic.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Float.Dynamic.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Float.Dynamic.NN.Criterion"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = + BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "utils", + SymbolicPath "src"], + otherModules = [ + ModuleName + "Torch.Core.Exceptions", + ModuleName "Torch.Core.Random", + ModuleName "Torch.Core.LogAdd"], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [ + EnableExtension LambdaCase, + EnableExtension DataKinds, + EnableExtension TypeFamilies, + EnableExtension + TypeSynonymInstances, + EnableExtension + ScopedTypeVariables, + EnableExtension + FlexibleContexts, + EnableExtension CPP], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName "hasktorch-ffi-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "safe-exceptions") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 1, 0])) + (LaterVersion + (mkVersion [0, 1, 0]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "text") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 2, 2])) + (LaterVersion + (mkVersion [1, 2, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-floating")])), + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-signed")]))], + mixins = + [ + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Long.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Long.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Long.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Long.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Long.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Long.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Long.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Long.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Long.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Long.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Long.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Long.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Long.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Long.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Long.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Long.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Long.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName "Torch.Long.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName "Torch.Long.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Long.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Long.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Long.Dynamic.Tensor.Math.Pointwise.Signed")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Long"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Long.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Long.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Long.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Long.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.TH.Long.TensorMath")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-floating"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Double.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Double.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Double.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Double.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Double.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Double.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Double.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Double.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Double.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Double.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Double.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Double.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Double.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Double.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Double.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Blas") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Lapack") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Floating") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Blas") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Lapack") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Floating") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Random.TH") + (ModuleName + "Torch.Indef.Double.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Random.TH") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Random.TH") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Random.TH") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Undefined.Tensor.Random.THC") + (ModuleName + "Torch.Undefined.Double.Tensor.Random.THC"), + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Double.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Double.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Double.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Double.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Double.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Double.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Double.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Double.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Double.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Double.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Double.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Double.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Double.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Double.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Double.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Double.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Double.Dynamic.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN") + (ModuleName + "Torch.Double.Dynamic.NN"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Activation") + (ModuleName + "Torch.Double.Dynamic.NN.Activation"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Pooling") + (ModuleName + "Torch.Double.Dynamic.NN.Pooling"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Criterion") + (ModuleName + "Torch.Double.Dynamic.NN.Criterion"), + _×_ + (ModuleName + "Torch.Indef.Static.NN") + (ModuleName "Torch.Double.NN"), + _×_ + (ModuleName + "Torch.Indef.Static.NN") + (ModuleName "Torch.Double.NN"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Activation") + (ModuleName + "Torch.Double.NN.Activation"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Backprop") + (ModuleName + "Torch.Double.NN.Backprop"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Conv1d") + (ModuleName + "Torch.Double.NN.Conv1d"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Conv2d") + (ModuleName + "Torch.Double.NN.Conv2d"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Criterion") + (ModuleName + "Torch.Double.NN.Criterion"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Layers") + (ModuleName + "Torch.Double.NN.Layers"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Linear") + (ModuleName + "Torch.Double.NN.Linear"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Math") + (ModuleName + "Torch.Double.NN.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Padding") + (ModuleName + "Torch.Double.NN.Padding"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Pooling") + (ModuleName + "Torch.Double.NN.Pooling"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Sampling") + (ModuleName + "Torch.Double.NN.Sampling")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Double"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Double.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Double.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Double.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Double.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Double.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Double.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Floating") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Blas") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Lapack") + (ModuleName + "Torch.FFI.TH.Double.TensorLapack"), + _×_ + (ModuleName "Torch.Sig.NN") + (ModuleName + "Torch.FFI.TH.NN.Double"), + _×_ + (ModuleName + "Torch.Sig.Types.NN") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Random.TH") + (ModuleName + "Torch.FFI.TH.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.TH") + (ModuleName + "Torch.FFI.TH.Double.TensorRandom"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.THC") + (ModuleName + "Torch.Undefined.Double.Tensor.Random.THC")]}}]}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName "hasktorch-ffi-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "safe-exceptions") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 1, 0])) + (LaterVersion + (mkVersion [0, 1, 0]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "text") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 2, 2])) + (LaterVersion + (mkVersion [1, 2, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-floating")])), + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-signed")]))], + condTreeComponents = + [ + CondBranch { + condBranchCondition = + `Var (PackageFlag (FlagName "lite"))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-cpu"), + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = + Just + CondNode { + condTreeData = + Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-cpu"), + exposedModules = [ + ModuleName "Torch.Byte", + ModuleName "Torch.Byte.Dynamic", + ModuleName "Torch.Byte.Storage", + ModuleName "Torch.Char", + ModuleName "Torch.Char.Dynamic", + ModuleName "Torch.Char.Storage", + ModuleName "Torch.Short", + ModuleName + "Torch.Short.Dynamic", + ModuleName + "Torch.Short.Storage", + ModuleName "Torch.Int", + ModuleName "Torch.Int.Dynamic", + ModuleName "Torch.Int.Storage", + ModuleName "Torch.Float", + ModuleName + "Torch.Float.Dynamic", + ModuleName + "Torch.Float.Storage"], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = + BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned")]))], + mixins = + [ + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Byte.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Byte.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Byte.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Byte.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Byte.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Byte.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Byte.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Byte.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Byte.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Byte.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Byte.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Byte.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Byte.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Byte.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Byte.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Byte.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Byte.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName "Torch.Byte.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName "Torch.Byte.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Byte.Mask")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Byte"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Byte.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Byte.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Byte.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Byte.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Char.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Char.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Char.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Char.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Char.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Char.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Char.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Char.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Char.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Char.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Char.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Char.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Char.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Char.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Char.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Char.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Char.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Char.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName "Torch.Char.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName "Torch.Char.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Char.Mask")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Char"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Char.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Char.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Char.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Char.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Char.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Char.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Char.TensorMath")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Short.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Short.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Short.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Short.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Short.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Short.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Short.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Short.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Short.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Short.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Short.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Short.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Short.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Short.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Short.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Short.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Short.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Short.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Short.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Short.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Short.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Short.Dynamic.Tensor.Math.Pointwise.Signed")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Short"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Short.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Short.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Short.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Short.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Short.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Short.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.TH.Short.TensorMath")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Int.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Int.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Int.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Int.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Int.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Int.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Int.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Int.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Int.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Int.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Int.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Int.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Int.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Int.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Int.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Int.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Int.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName "Torch.Int.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName "Torch.Int.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Int.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Int.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Int.Dynamic.Tensor.Math.Pointwise.Signed")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Int"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Int.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Int.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Int.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Int.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Int.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Int.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.TH.Int.TensorMath")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-floating"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Float.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Float.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Float.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Float.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Float.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Float.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Float.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Float.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Float.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Float.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Float.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Float.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Float.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Float.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Float.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Blas") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Lapack") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Floating") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Blas") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Lapack") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Floating") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Random.TH") + (ModuleName + "Torch.Indef.Float.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Random.TH") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Random.TH") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Random.TH") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Undefined.Tensor.Random.THC") + (ModuleName + "Torch.Undefined.Float.Tensor.Random.THC"), + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Float.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Float.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Float.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Float.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Float.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Float.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Float.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Float.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Float.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Float.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Float.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Float.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Float.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Float.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName "Torch.Float.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Float.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Float.Dynamic.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN") + (ModuleName + "Torch.Float.Dynamic.NN"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Activation") + (ModuleName + "Torch.Float.Dynamic.NN.Activation"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Pooling") + (ModuleName + "Torch.Float.Dynamic.NN.Pooling"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Criterion") + (ModuleName + "Torch.Float.Dynamic.NN.Criterion"), + _×_ + (ModuleName + "Torch.Indef.Static.NN") + (ModuleName "Torch.Float.NN"), + _×_ + (ModuleName + "Torch.Indef.Static.NN") + (ModuleName "Torch.Float.NN"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Activation") + (ModuleName + "Torch.Float.NN.Activation"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Backprop") + (ModuleName + "Torch.Float.NN.Backprop"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Conv1d") + (ModuleName + "Torch.Float.NN.Conv1d"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Conv2d") + (ModuleName + "Torch.Float.NN.Conv2d"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Criterion") + (ModuleName + "Torch.Float.NN.Criterion"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Layers") + (ModuleName + "Torch.Float.NN.Layers"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Linear") + (ModuleName + "Torch.Float.NN.Linear"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Math") + (ModuleName + "Torch.Float.NN.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Padding") + (ModuleName + "Torch.Float.NN.Padding"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Pooling") + (ModuleName + "Torch.Float.NN.Pooling"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Sampling") + (ModuleName + "Torch.Float.NN.Sampling")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.TH.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.TH.Long.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.TH.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.TH.Byte.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.TH.Byte.TensorMath"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.TH.Float"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.TH.Float.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.TH.Float.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.TH.Float.FreeStorage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.TH.Float.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.TH.Float.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.TH.Float.FreeTensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Floating") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Blas") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Lapack") + (ModuleName + "Torch.FFI.TH.Float.TensorLapack"), + _×_ + (ModuleName "Torch.Sig.NN") + (ModuleName + "Torch.FFI.TH.NN.Float"), + _×_ + (ModuleName + "Torch.Sig.Types.NN") + (ModuleName "Torch.Types.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Random.TH") + (ModuleName + "Torch.FFI.TH.Float.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.TH") + (ModuleName + "Torch.FFI.TH.Float.TensorRandom"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.THC") + (ModuleName + "Torch.Undefined.Float.Tensor.Random.THC")]}}]}}, + condTreeConstraints = [ + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned")]))], + condTreeComponents = []}}]}, + _×_ + (UnqualComponentName + "hasktorch-gpu") + CondNode { + condTreeData = + Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-gpu"), + exposedModules = [ + ModuleName "Torch.Cuda.Long", + ModuleName + "Torch.Cuda.Long.Dynamic", + ModuleName + "Torch.Cuda.Long.Storage", + ModuleName "Torch.Cuda.Double", + ModuleName + "Torch.Cuda.Double.Dynamic", + ModuleName + "Torch.Cuda.Double.Storage"], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Activation", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Backprop", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Backprop"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Conv1d", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Conv1d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Conv2d", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Conv2d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Layers", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Layers"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Linear", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Linear"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Math", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Padding", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Padding"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.NN.Sampling", + moduleReexportName = ModuleName + "Torch.Cuda.Double.NN.Sampling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN.Activation", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Cuda.Double.Dynamic.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Cuda.Double.Dynamic.NN.Criterion"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = + BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [ + "-DCUDA", + "-DHASKTORCH_INTERNAL_CUDA"], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "utils", + SymbolicPath "src"], + otherModules = [ + ModuleName + "Torch.Core.Exceptions", + ModuleName "Torch.Core.Random", + ModuleName "Torch.Core.LogAdd"], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [ + EnableExtension LambdaCase, + EnableExtension DataKinds, + EnableExtension TypeFamilies, + EnableExtension + TypeSynonymInstances, + EnableExtension + ScopedTypeVariables, + EnableExtension + FlexibleContexts, + EnableExtension CPP], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName "hasktorch-ffi-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "safe-exceptions") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 1, 0])) + (LaterVersion + (mkVersion [0, 1, 0]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "text") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 2, 2])) + (LaterVersion + (mkVersion [1, 2, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-floating")])), + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-signed")])), + Dependency + (PackageName + "hasktorch-ffi-thc") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-thc") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet], + mixins = + [ + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Long.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Long.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Long.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Long.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Long.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Long.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Long.Dynamic.Tensor.Math.Pointwise.Signed")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName + "Torch.FFI.THC.State"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.THC.Long"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.THC.Long.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.THC.Long.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.THC.Long.Storage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.THC.Long.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.THC.Long.TensorIndex"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.THC.Long.TensorMasked"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.THC.Long.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.THC.Long.TensorMathCompare"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.THC.Long.TensorMathCompareT"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.THC.Long.TensorMathPairwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.THC.Long.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.THC.Long.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.THC.Long.TensorMathScan"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.THC.Long.TensorMode"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.THC.Long.TensorScatterGather"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.THC.Long.TensorSort"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.THC.Long.TensorTopK"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.THC.Long.TensorMathPointwise")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-floating"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Double.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Double.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Double.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Double.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Double.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Blas") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Lapack") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Floating") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Blas") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Lapack") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Floating") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Undefined.Tensor.Random.TH") + (ModuleName + "Torch.Undefined.Cuda.Double.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Undefined.Tensor.Math.Random.TH") + (ModuleName + "Torch.Undefined.Cuda.Double.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Random.THC") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Random.THC"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Random.THC") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Random.THC"), + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Double.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Double.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Double.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Double.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Double.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Double.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Double.Dynamic.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN") + (ModuleName + "Torch.Cuda.Double.Dynamic.NN"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Activation") + (ModuleName + "Torch.Cuda.Double.Dynamic.NN.Activation"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Pooling") + (ModuleName + "Torch.Cuda.Double.Dynamic.NN.Pooling"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.NN.Criterion") + (ModuleName + "Torch.Cuda.Double.Dynamic.NN.Criterion"), + _×_ + (ModuleName + "Torch.Indef.Static.NN") + (ModuleName + "Torch.Cuda.Double.NN"), + _×_ + (ModuleName + "Torch.Indef.Static.NN") + (ModuleName + "Torch.Cuda.Double.NN"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Activation") + (ModuleName + "Torch.Cuda.Double.NN.Activation"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Backprop") + (ModuleName + "Torch.Cuda.Double.NN.Backprop"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Conv1d") + (ModuleName + "Torch.Cuda.Double.NN.Conv1d"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Conv2d") + (ModuleName + "Torch.Cuda.Double.NN.Conv2d"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Criterion") + (ModuleName + "Torch.Cuda.Double.NN.Criterion"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Layers") + (ModuleName + "Torch.Cuda.Double.NN.Layers"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Linear") + (ModuleName + "Torch.Cuda.Double.NN.Linear"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Math") + (ModuleName + "Torch.Cuda.Double.NN.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Padding") + (ModuleName + "Torch.Cuda.Double.NN.Padding"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Pooling") + (ModuleName + "Torch.Cuda.Double.NN.Pooling"), + _×_ + (ModuleName + "Torch.Indef.Static.NN.Sampling") + (ModuleName + "Torch.Cuda.Double.NN.Sampling")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName + "Torch.FFI.THC.State"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.THC.Double"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.THC.Double.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.THC.Double.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.THC.Double.Storage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.THC.Double.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.THC.Double.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.THC.Double.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.THC.Double.TensorIndex"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.THC.Double.TensorMasked"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.THC.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.THC.Double.TensorMathCompare"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.THC.Double.TensorMathCompareT"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.THC.Double.TensorMathPairwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.THC.Double.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.THC.Double.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.THC.Double.TensorMathScan"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.THC.Double.TensorMode"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.THC.Double.TensorScatterGather"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.THC.Double.TensorSort"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.THC.Double.TensorTopK"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.THC.Double.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.FFI.THC.Double.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.FFI.THC.Double.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Floating") + (ModuleName + "Torch.FFI.THC.Double.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Blas") + (ModuleName + "Torch.FFI.THC.Double.TensorMathBlas"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Lapack") + (ModuleName + "Torch.FFI.THC.Double.TensorMathMagma"), + _×_ + (ModuleName "Torch.Sig.NN") + (ModuleName + "Torch.FFI.THC.NN.Double"), + _×_ + (ModuleName + "Torch.Sig.Types.NN") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Random.TH") + (ModuleName + "Torch.Undefined.Cuda.Double.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.TH") + (ModuleName + "Torch.Undefined.Cuda.Double.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.THC") + (ModuleName + "Torch.FFI.THC.Double.TensorRandom")]}}]}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName "hasktorch-ffi-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-th") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "safe-exceptions") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 1, 0])) + (LaterVersion + (mkVersion [0, 1, 0]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "text") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 2, 2])) + (LaterVersion + (mkVersion [1, 2, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-floating")])), + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-signed")])), + Dependency + (PackageName + "hasktorch-ffi-thc") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-types-thc") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet], + condTreeComponents = + [ + CondBranch { + condBranchCondition = + `Var (PackageFlag (FlagName "lite"))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-gpu"), + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = + Just + CondNode { + condTreeData = + Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-gpu"), + exposedModules = [ + ModuleName "Torch.Cuda.Byte", + ModuleName + "Torch.Cuda.Byte.Dynamic", + ModuleName + "Torch.Cuda.Byte.Storage", + ModuleName "Torch.Cuda.Char", + ModuleName + "Torch.Cuda.Char.Dynamic", + ModuleName + "Torch.Cuda.Char.Storage", + ModuleName "Torch.Cuda.Short", + ModuleName + "Torch.Cuda.Short.Dynamic", + ModuleName + "Torch.Cuda.Short.Storage", + ModuleName "Torch.Cuda.Int", + ModuleName + "Torch.Cuda.Int.Dynamic", + ModuleName + "Torch.Cuda.Int.Storage"], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = + BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned")]))], + mixins = + [ + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Byte.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Byte.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Byte.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Byte.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Byte.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Byte.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Byte.Mask")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName + "Torch.FFI.THC.State"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.THC.Byte"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.THC.Byte.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.THC.Byte.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.THC.Byte.Storage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.THC.Byte.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.THC.Byte.TensorIndex"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.THC.Byte.TensorMasked"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.THC.Byte.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathCompare"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathCompareT"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathPairwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathScan"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.THC.Byte.TensorMode"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.THC.Byte.TensorScatterGather"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.THC.Byte.TensorSort"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.THC.Byte.TensorTopK")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Char.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Char.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Char.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Char.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Char.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Char.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Char.Mask")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName + "Torch.FFI.THC.State"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.THC.Char"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.THC.Char.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.THC.Char.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.THC.Char.Storage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.THC.Char.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.THC.Char.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.THC.Char.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.THC.Char.TensorIndex"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.THC.Char.TensorMasked"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.THC.Char.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.THC.Char.TensorMathCompare"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.THC.Char.TensorMathCompareT"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.THC.Char.TensorMathPairwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.THC.Char.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.THC.Char.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.THC.Char.TensorMathScan"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.THC.Char.TensorMode"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.THC.Char.TensorScatterGather"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.THC.Char.TensorSort"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.THC.Char.TensorTopK")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Short.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Short.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Short.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Short.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Short.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Short.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Short.Dynamic.Tensor.Math.Pointwise.Signed")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName + "Torch.FFI.THC.State"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.THC.Short"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.THC.Short.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.THC.Short.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.THC.Short.Storage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.THC.Short.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.THC.Short.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.THC.Short.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.THC.Short.TensorIndex"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.THC.Short.TensorMasked"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.THC.Short.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.THC.Short.TensorMathCompare"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.THC.Short.TensorMathCompareT"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.THC.Short.TensorMathPairwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.THC.Short.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.THC.Short.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.THC.Short.TensorMathScan"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.THC.Short.TensorMode"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.THC.Short.TensorScatterGather"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.THC.Short.TensorSort"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.THC.Short.TensorTopK"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.THC.Short.TensorMathPointwise")]}}, + Mixin { + mixinPackageName = PackageName + "hasktorch", + mixinLibraryName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Indef.Storage") + (ModuleName + "Torch.Indef.Cuda.Int.Storage"), + _×_ + (ModuleName + "Torch.Indef.Storage.Copy") + (ModuleName + "Torch.Indef.Cuda.Int.Storage.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.TopK"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Copy") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Copy"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Index") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Index"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Masked") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Masked"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Compare"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.CompareT"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Pairwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Pointwise"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Reduce"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Scan"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Mode") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Mode"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.ScatterGather"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Sort") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Sort"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.TopK") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.TopK"), + _×_ + (ModuleName "Torch.Indef.Types") + (ModuleName + "Torch.Cuda.Int.Types"), + _×_ + (ModuleName "Torch.Indef.Index") + (ModuleName + "Torch.Cuda.Int.Index"), + _×_ + (ModuleName "Torch.Indef.Mask") + (ModuleName + "Torch.Cuda.Int.Mask"), + _×_ + (ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Int.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Indef.Cuda.Int.Dynamic.Tensor.Math.Pointwise.Signed")], + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName + "Torch.Sig.Index.Tensor") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Index.TensorFree") + (ModuleName + "Torch.FFI.THC.Long.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.Tensor") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.TensorFree") + (ModuleName + "Torch.FFI.THC.Byte.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Mask.MathReduce") + (ModuleName + "Torch.FFI.THC.Byte.TensorMathReduce"), + _×_ + (ModuleName "Torch.Sig.State") + (ModuleName + "Torch.FFI.THC.State"), + _×_ + (ModuleName + "Torch.Sig.Types.Global") + (ModuleName "Torch.Types.THC"), + _×_ + (ModuleName "Torch.Sig.Types") + (ModuleName + "Torch.Types.THC.Int"), + _×_ + (ModuleName "Torch.Sig.Storage") + (ModuleName + "Torch.FFI.THC.Int.Storage"), + _×_ + (ModuleName + "Torch.Sig.Storage.Copy") + (ModuleName + "Torch.FFI.THC.Int.StorageCopy"), + _×_ + (ModuleName + "Torch.Sig.Storage.Memory") + (ModuleName + "Torch.FFI.THC.Int.Storage"), + _×_ + (ModuleName "Torch.Sig.Tensor") + (ModuleName + "Torch.FFI.THC.Int.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Copy") + (ModuleName + "Torch.FFI.THC.Int.TensorCopy"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Memory") + (ModuleName + "Torch.FFI.THC.Int.Tensor"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Index") + (ModuleName + "Torch.FFI.THC.Int.TensorIndex"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Masked") + (ModuleName + "Torch.FFI.THC.Int.TensorMasked"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math") + (ModuleName + "Torch.FFI.THC.Int.TensorMath"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Compare") + (ModuleName + "Torch.FFI.THC.Int.TensorMathCompare"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.CompareT") + (ModuleName + "Torch.FFI.THC.Int.TensorMathCompareT"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pairwise") + (ModuleName + "Torch.FFI.THC.Int.TensorMathPairwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise") + (ModuleName + "Torch.FFI.THC.Int.TensorMathPointwise"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce") + (ModuleName + "Torch.FFI.THC.Int.TensorMathReduce"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Scan") + (ModuleName + "Torch.FFI.THC.Int.TensorMathScan"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Mode") + (ModuleName + "Torch.FFI.THC.Int.TensorMode"), + _×_ + (ModuleName + "Torch.Sig.Tensor.ScatterGather") + (ModuleName + "Torch.FFI.THC.Int.TensorScatterGather"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Sort") + (ModuleName + "Torch.FFI.THC.Int.TensorSort"), + _×_ + (ModuleName + "Torch.Sig.Tensor.TopK") + (ModuleName + "Torch.FFI.THC.Int.TensorTopK"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.FFI.THC.Int.TensorMathPointwise")]}}]}}, + condTreeConstraints = [ + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned")]))], + condTreeComponents = []}}]}, + _×_ + (UnqualComponentName + "hasktorch-indef-unsigned") + CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-indef-unsigned"), + exposedModules = [], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Index", + moduleReexportName = ModuleName + "Torch.Indef.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Mask", + moduleReexportName = ModuleName + "Torch.Indef.Mask"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Types", + moduleReexportName = ModuleName + "Torch.Indef.Types"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Storage", + moduleReexportName = ModuleName + "Torch.Indef.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Storage.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Storage.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Print", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Print"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Index", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Masked", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Masked"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Mode", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Mode"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Sort", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Sort"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.TopK", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.TopK"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Index", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Masked", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Masked"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Compare", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Compare"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Scan", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Scan"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Mode", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Mode"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.ScatterGather", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.ScatterGather"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Sort", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Sort"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.TopK", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.TopK"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-signatures-partial") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch-indef") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = [ + Mixin { + mixinPackageName = PackageName + "hasktorch-indef", + mixinLibraryName = LMainLibName, + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + DefaultRenaming, + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName "Torch.Sig.NN") + (ModuleName + "Torch.Undefined.NN"), + _×_ + (ModuleName + "Torch.Sig.Types.NN") + (ModuleName + "Torch.Undefined.Types.NN"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Blas") + (ModuleName + "Torch.Undefined.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Floating") + (ModuleName + "Torch.Undefined.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Lapack") + (ModuleName + "Torch.Undefined.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Signed") + (ModuleName + "Torch.Undefined.Tensor.Math.Pointwise.Signed"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Undefined.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Undefined.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Random.TH") + (ModuleName + "Torch.Undefined.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.TH") + (ModuleName + "Torch.Undefined.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.THC") + (ModuleName + "Torch.Undefined.Tensor.Random.THC")]}}]}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-signatures-partial") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch-indef") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + _×_ + (UnqualComponentName + "hasktorch-indef-signed") + CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-indef-signed"), + exposedModules = [], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Index", + moduleReexportName = ModuleName + "Torch.Indef.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Mask", + moduleReexportName = ModuleName + "Torch.Indef.Mask"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Types", + moduleReexportName = ModuleName + "Torch.Indef.Types"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Storage", + moduleReexportName = ModuleName + "Torch.Indef.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Storage.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Storage.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Print", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Print"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Index", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Masked", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Masked"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Mode", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Mode"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Sort", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Sort"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.TopK", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.TopK"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Index", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Masked", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Masked"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Compare", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Compare"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Scan", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Scan"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Mode", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Mode"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.ScatterGather", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.ScatterGather"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Sort", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Sort"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.TopK", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.TopK"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-signatures-partial") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch-indef") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = [ + Mixin { + mixinPackageName = PackageName + "hasktorch-indef", + mixinLibraryName = LMainLibName, + mixinIncludeRenaming = + IncludeRenaming { + includeProvidesRn = + DefaultRenaming, + includeRequiresRn = + ModuleRenaming + [ + _×_ + (ModuleName "Torch.Sig.NN") + (ModuleName + "Torch.Undefined.NN"), + _×_ + (ModuleName + "Torch.Sig.Types.NN") + (ModuleName + "Torch.Undefined.Types.NN"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Blas") + (ModuleName + "Torch.Undefined.Tensor.Math.Blas"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Floating") + (ModuleName + "Torch.Undefined.Tensor.Math.Floating"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Lapack") + (ModuleName + "Torch.Undefined.Tensor.Math.Lapack"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Pointwise.Floating") + (ModuleName + "Torch.Undefined.Tensor.Math.Pointwise.Floating"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Reduce.Floating") + (ModuleName + "Torch.Undefined.Tensor.Math.Reduce.Floating"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Math.Random.TH") + (ModuleName + "Torch.Undefined.Tensor.Math.Random.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.TH") + (ModuleName + "Torch.Undefined.Tensor.Random.TH"), + _×_ + (ModuleName + "Torch.Sig.Tensor.Random.THC") + (ModuleName + "Torch.Undefined.Tensor.Random.THC")]}}]}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName + "hasktorch-signatures-partial") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet, + Dependency + (PackageName "hasktorch-indef") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + _×_ + (UnqualComponentName + "hasktorch-indef-floating") + CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName + "hasktorch-indef-floating"), + exposedModules = [], + reexportedModules = [ + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Index", + moduleReexportName = ModuleName + "Torch.Indef.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Mask", + moduleReexportName = ModuleName + "Torch.Indef.Mask"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName "Torch.Indef.Types", + moduleReexportName = ModuleName + "Torch.Indef.Types"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Storage", + moduleReexportName = ModuleName + "Torch.Indef.Storage"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Storage.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Storage.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Print", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Print"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Index", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Masked", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Masked"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Compare"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.CompareT"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pairwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Scan"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Mode", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Mode"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.ScatterGather"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Sort", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Sort"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.TopK", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.TopK"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Copy", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Copy"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Index", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Index"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Masked", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Masked"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Compare", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Compare"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.CompareT"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pairwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Scan", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Scan"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Mode", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Mode"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.ScatterGather", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.ScatterGather"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Sort", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Sort"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.TopK", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.TopK"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Signed"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Blas", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Blas"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Floating", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Floating"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Lapack", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Lapack"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Pointwise.Floating"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Reduce.Floating"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Random.TH", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Random.TH"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Random.THC", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Random.THC"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Random.TH", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.Tensor.Math.Random.TH"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Blas", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Blas"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Floating", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Floating"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Lapack", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Lapack"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Floating", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Pointwise.Floating"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce.Floating", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Reduce.Floating"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Random.TH", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Random.TH"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Random.THC", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Random.THC"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.Tensor.Math.Random.TH", + moduleReexportName = ModuleName + "Torch.Indef.Static.Tensor.Math.Random.TH"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.NN", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.NN.Activation", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Dynamic.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Indef.Dynamic.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Activation", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Activation"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Backprop", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Backprop"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Conv1d", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Conv1d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Conv2d", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Conv2d"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Criterion", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Criterion"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Layers", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Layers"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Linear", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Linear"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Math", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Math"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Padding", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Padding"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Pooling", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Pooling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Indef.Static.NN.Sampling", + moduleReexportName = ModuleName + "Torch.Indef.Static.NN.Sampling"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Undefined.Tensor.Math.Random.TH", + moduleReexportName = ModuleName + "Torch.Undefined.Tensor.Math.Random.TH"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Undefined.Tensor.Random.TH", + moduleReexportName = ModuleName + "Torch.Undefined.Tensor.Random.TH"}, + ModuleReexport { + moduleReexportOriginalPackage = + Nothing, + moduleReexportOriginalName = + ModuleName + "Torch.Undefined.Tensor.Random.THC", + moduleReexportName = ModuleName + "Torch.Undefined.Tensor.Random.THC"}], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch-indef") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName + "hasktorch-signatures-partial") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch-indef") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName + "hasktorch-signatures-partial") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 0, 1])) + (LaterVersion + (mkVersion [0, 0, 1]))) + (EarlierVersion + (mkVersion [0, 0, 2]))) + mainLibSet], + condTreeComponents = []}], + condForeignLibs = [], + condExecutables = [ + _×_ + (UnqualComponentName + "isdefinite-cpu") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "isdefinite-cpu", + modulePath = "Noop.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "exe"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-cpu")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-cpu")]))], + condTreeComponents = []}, + _×_ + (UnqualComponentName + "isdefinite-gpu") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "isdefinite-gpu", + modulePath = "Noop.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "exe"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-gpu")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "hasktorch-gpu")]))], + condTreeComponents = []}, + _×_ + (UnqualComponentName + "isdefinite") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "isdefinite", + modulePath = "Noop.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "exe"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + _×_ + (UnqualComponentName "memcheck") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "memcheck", + modulePath = "Memcheck.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "exe"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}], + condTestSuites = [ + _×_ + (UnqualComponentName "spec") + CondNode { + condTreeData = TestSuite { + testName = UnqualComponentName + "", + testInterface = TestSuiteExeV10 + (mkVersion [1, 0]) + "Spec.hs", + testBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "tests"], + otherModules = [ + ModuleName "Orphans", + ModuleName "MemorySpec", + ModuleName "RawLapackSVDSpec", + ModuleName + "GarbageCollectionSpec", + ModuleName + "Torch.Prelude.Extras", + ModuleName + "Torch.Core.LogAddSpec", + ModuleName + "Torch.Core.RandomSpec", + ModuleName + "Torch.Static.NN.AbsSpec", + ModuleName + "Torch.Static.NN.LinearSpec"], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [ + EnableExtension LambdaCase, + EnableExtension DataKinds, + EnableExtension TypeFamilies, + EnableExtension + TypeSynonymInstances, + EnableExtension + ScopedTypeVariables, + EnableExtension + FlexibleContexts, + EnableExtension CPP], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "QuickCheck") + (UnionVersionRanges + (ThisVersion + (mkVersion [2, 11])) + (LaterVersion + (mkVersion [2, 11]))) + mainLibSet, + Dependency + (PackageName "backprop") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 2, 5])) + (LaterVersion + (mkVersion [0, 2, 5]))) + mainLibSet, + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName + "ghc-typelits-natnormalise") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "hspec") + (UnionVersionRanges + (ThisVersion + (mkVersion [2, 4, 4])) + (LaterVersion + (mkVersion [2, 4, 4]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "mtl") + (UnionVersionRanges + (ThisVersion + (mkVersion [2, 2, 2])) + (LaterVersion + (mkVersion [2, 2, 2]))) + mainLibSet, + Dependency + (PackageName + "microlens-platform") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 3, 10])) + (LaterVersion + (mkVersion [0, 3, 10]))) + mainLibSet, + Dependency + (PackageName "monad-loops") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 4, 3])) + (LaterVersion + (mkVersion [0, 4, 3]))) + mainLibSet, + Dependency + (PackageName "time") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 8, 0])) + (LaterVersion + (mkVersion [1, 8, 0]))) + mainLibSet, + Dependency + (PackageName "transformers") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 5, 5])) + (LaterVersion + (mkVersion [0, 5, 5]))) + mainLibSet, + Dependency + (PackageName "generic-lens") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "QuickCheck") + (UnionVersionRanges + (ThisVersion + (mkVersion [2, 11])) + (LaterVersion + (mkVersion [2, 11]))) + mainLibSet, + Dependency + (PackageName "backprop") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 2, 5])) + (LaterVersion + (mkVersion [0, 2, 5]))) + mainLibSet, + Dependency + (PackageName "base") + (IntersectVersionRanges + (UnionVersionRanges + (ThisVersion (mkVersion [4, 7])) + (LaterVersion + (mkVersion [4, 7]))) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "dimensions") + (UnionVersionRanges + (ThisVersion (mkVersion [1, 0])) + (LaterVersion + (mkVersion [1, 0]))) + mainLibSet, + Dependency + (PackageName + "ghc-typelits-natnormalise") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "hasktorch") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "hspec") + (UnionVersionRanges + (ThisVersion + (mkVersion [2, 4, 4])) + (LaterVersion + (mkVersion [2, 4, 4]))) + mainLibSet, + Dependency + (PackageName "singletons") + (UnionVersionRanges + (ThisVersion (mkVersion [2, 2])) + (LaterVersion + (mkVersion [2, 2]))) + mainLibSet, + Dependency + (PackageName "mtl") + (UnionVersionRanges + (ThisVersion + (mkVersion [2, 2, 2])) + (LaterVersion + (mkVersion [2, 2, 2]))) + mainLibSet, + Dependency + (PackageName + "microlens-platform") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 3, 10])) + (LaterVersion + (mkVersion [0, 3, 10]))) + mainLibSet, + Dependency + (PackageName "monad-loops") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 4, 3])) + (LaterVersion + (mkVersion [0, 4, 3]))) + mainLibSet, + Dependency + (PackageName "time") + (UnionVersionRanges + (ThisVersion + (mkVersion [1, 8, 0])) + (LaterVersion + (mkVersion [1, 8, 0]))) + mainLibSet, + Dependency + (PackageName "transformers") + (UnionVersionRanges + (ThisVersion + (mkVersion [0, 5, 5])) + (LaterVersion + (mkVersion [0, 5, 5]))) + mainLibSet, + Dependency + (PackageName "generic-lens") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr b/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr index 6a7484dc4280c62e7a82ab1c2bc76ddb1f41b265..bcb1f1f5bbb91d301bad466f2f5701867343f07c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr +++ b/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr @@ -34,8 +34,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/indentation.expr b/Cabal-tests/tests/ParserTests/regressions/indentation.expr index 10464b3cf756f6b564c76cf63d5883406ceab2c3..2b747fd1b8e263d381fbc42444c96b20581445f6 100644 --- a/Cabal-tests/tests/ParserTests/regressions/indentation.expr +++ b/Cabal-tests/tests/ParserTests/regressions/indentation.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/indentation2.expr b/Cabal-tests/tests/ParserTests/regressions/indentation2.expr index cc3109b05b1ea01faff13f52a40e74e65042e030..56f23f26d0e84f468eb43ad4f9e8f8fd2a951416 100644 --- a/Cabal-tests/tests/ParserTests/regressions/indentation2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/indentation2.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/indentation3.expr b/Cabal-tests/tests/ParserTests/regressions/indentation3.expr index 1d7fbe36a65ebac2c133f4b02dab72a4f6de83c9..f7ed51e79fa19d5cfaddefad48a18941d7e80881 100644 --- a/Cabal-tests/tests/ParserTests/regressions/indentation3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/indentation3.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr b/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr index 6467cef70275df2bf695cadf8e49a6801a621b68..96577831b3691a276ac0f301f003fee7f0fce48a 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr @@ -34,8 +34,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -106,8 +108,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -173,8 +177,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr b/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr index e6d589977969abf7599ebd8513a35d42402cf21d..996d49e6625f65e6f5f9a52046d1e2dcc0f0c3d7 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr @@ -1,171 +1,180 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "lib1") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName (UnqualComponentName "a"), - LSubLibName (UnqualComponentName "b")])), - Dependency - (PackageName "lib2") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName (UnqualComponentName "c")])), - Dependency - (PackageName "lib3") - (OrLaterVersion (mkVersion [1])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName (UnqualComponentName "d")])), - Dependency - (PackageName "lib4") - (OrLaterVersion (mkVersion [1])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName (UnqualComponentName "a"), - LSubLibName (UnqualComponentName "b")]))], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "lib1") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "a"), - LSubLibName - (UnqualComponentName - "b")])), - Dependency - (PackageName - "lib2") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "c")])), - Dependency - (PackageName - "lib3") - (OrLaterVersion - (mkVersion - [1])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "d")])), - Dependency - (PackageName - "lib4") - (OrLaterVersion - (mkVersion - [1])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "a"), - LSubLibName - (UnqualComponentName - "b")]))], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "issue", - pkgVersion = mkVersion [5846]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV3_0, - stability = "", - subLibraries = [], - synopsis = "", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_0, + package = PackageIdentifier { + pkgName = PackageName "issue", + pkgVersion = mkVersion [5846]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "lib1") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "a"), + LSubLibName + (UnqualComponentName "b")])), + Dependency + (PackageName "lib2") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "c")])), + Dependency + (PackageName "lib3") + (OrLaterVersion (mkVersion [1])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "d")])), + Dependency + (PackageName "lib4") + (OrLaterVersion (mkVersion [1])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "a"), + LSubLibName + (UnqualComponentName "b")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "lib1") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "a"), + LSubLibName + (UnqualComponentName "b")])), + Dependency + (PackageName "lib2") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "c")])), + Dependency + (PackageName "lib3") + (OrLaterVersion (mkVersion [1])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "d")])), + Dependency + (PackageName "lib4") + (OrLaterVersion (mkVersion [1])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName "a"), + LSubLibName + (UnqualComponentName "b")]))], + condTreeComponents = []}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr index 17334cd5ca99e818d672a4f55edbe7afa56db1a1..aa4f6492cd7878c44b32184d497d5963b6035965 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr @@ -1,337 +1,370 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [_×_ - (UnqualComponentName "demo-a") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "sublib") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "sublib") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - exeName = UnqualComponentName "demo-a", - exeScope = ExecutablePublic, - modulePath = "Main.hs"}}, - _×_ - (UnqualComponentName "demo-b") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "sublib")]))], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "sublib")]))], - virtualModules = []}, - exeName = UnqualComponentName "demo-b", - exeScope = ExecutablePublic, - modulePath = "Main.hs"}}], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "sublib")]))], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "sublib")]))], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [_×_ - (UnqualComponentName "sublib") - CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LSubLibName (UnqualComponentName "sublib"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "issue", - pkgVersion = mkVersion [6083]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV3_4, - stability = "", - subLibraries = [], - synopsis = "", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_4, + package = PackageIdentifier { + pkgName = PackageName "issue", + pkgVersion = mkVersion [6083]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + condTreeComponents = []}, + condSubLibraries = [ + _×_ + (UnqualComponentName "sublib") + CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName "sublib"), + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}], + condForeignLibs = [], + condExecutables = [ + _×_ + (UnqualComponentName "demo-a") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "demo-a", + modulePath = "Main.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "sublib") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "sublib") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + _×_ + (UnqualComponentName "demo-b") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "demo-b", + modulePath = "Main.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + condTreeComponents = []}], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr index bb0f583973c79e539d386874529fecf237455ac0..208e17e41f045f834f5dd9d50613cc9fea90f5b7 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr @@ -1,344 +1,380 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [_×_ - (UnqualComponentName "demo-a") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "sublib")]))], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "sublib")]))], - virtualModules = []}, - exeName = UnqualComponentName "demo-a", - exeScope = ExecutablePublic, - modulePath = "Main.hs"}}, - _×_ - (UnqualComponentName "demo-b") - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "sublib")]))], - condTreeData = Executable - {buildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "sublib")]))], - virtualModules = []}, - exeName = UnqualComponentName "demo-b", - exeScope = ExecutablePublic, - modulePath = "Main.hs"}}], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "sublib")]))], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "sublib")]))], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [_×_ - (UnqualComponentName "sublib") - CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LSubLibName (UnqualComponentName "sublib"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "issue", - pkgVersion = mkVersion [6083]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV3_0, - stability = "", - subLibraries = [], - synopsis = "", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_0, + package = PackageIdentifier { + pkgName = PackageName "issue", + pkgVersion = mkVersion [6083]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + condTreeComponents = []}, + condSubLibraries = [ + _×_ + (UnqualComponentName "sublib") + CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName "sublib"), + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}], + condForeignLibs = [], + condExecutables = [ + _×_ + (UnqualComponentName "demo-a") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "demo-a", + modulePath = "Main.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + condTreeComponents = []}, + _×_ + (UnqualComponentName "demo-b") + CondNode { + condTreeData = Executable { + exeName = UnqualComponentName + "demo-b", + modulePath = "Main.hs", + exeScope = ExecutablePublic, + buildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + condTreeComponents = []}], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr index b453415ac407bacbe0349189a82baa40b9c371a4..5cf5a7c1db8537076e6ba2f0a359112c49e83fd7 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr @@ -1,183 +1,202 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "issue") - (OrLaterVersion (mkVersion [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName "sublib")]))], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "issue") - (OrLaterVersion - (mkVersion - [0])) - (NonEmptySet.fromNonEmpty - (NE.fromList - [LSubLibName - (UnqualComponentName - "sublib")]))], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [_×_ - (UnqualComponentName "sublib") - CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] [], - sharedOptions = PerCompilerFlavor - [] [], - staticOptions = PerCompilerFlavor - [] [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LSubLibName (UnqualComponentName "sublib"), - libVisibility = LibraryVisibilityPrivate, - reexportedModules = [], - signatures = []}}], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "issue", - pkgVersion = mkVersion [6083]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV2_4, - stability = "", - subLibraries = [], - synopsis = "", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV2_4, + package = PackageIdentifier { + pkgName = PackageName "issue", + pkgVersion = mkVersion [6083]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "issue") + (OrLaterVersion (mkVersion [0])) + (NonEmptySet.fromNonEmpty + (NE.fromList + [ + LSubLibName + (UnqualComponentName + "sublib")]))], + condTreeComponents = []}, + condSubLibraries = [ + _×_ + (UnqualComponentName "sublib") + CondNode { + condTreeData = Library { + libName = LSubLibName + (UnqualComponentName "sublib"), + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPrivate, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr index a86109c4d927739abb314b133920554e188dd030..b436742cd03fbf8fd414892364b91fe04ed17be2 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr @@ -1,117 +1,124 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "freetype") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "freetype") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Just Haskell2010, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor [] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "freetype") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "freetype") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "", - copyright = "", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "", - library = Nothing, - licenseFiles = [], - licenseRaw = Left NONE, - maintainer = "", - package = PackageIdentifier - {pkgName = PackageName "issue", - pkgVersion = mkVersion [6083]}, - pkgUrl = "", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV3_0, - stability = "", - subLibraries = [], - synopsis = "", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_0, + package = PackageIdentifier { + pkgName = PackageName "issue", + pkgVersion = mkVersion [6083]}, + licenseRaw = Left NONE, + licenseFiles = [], + copyright = "", + maintainer = "", + author = "", + stability = "", + testedWith = [], + homepage = "", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = "", + description = "", + category = "", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Just + Haskell2010, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "freetype") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "freetype") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "freetype") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "freetype") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-774.expr b/Cabal-tests/tests/ParserTests/regressions/issue-774.expr index 849934afd462ce7a9d821ac24caa293ebf7c90e7..af63d8cd9f0a4ae92bf95d06a68b9bf8dff87299 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-774.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-774.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr b/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr index 0fa6290b549a06c9c55f64c55f342dcb3870a8b0..51b6add00d7d357c41a75f4a83625651b68fcde3 100644 --- a/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr +++ b/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr @@ -63,8 +63,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "exe"], hsc2hsOptions = [], @@ -213,8 +215,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "library"], hsc2hsOptions = [], @@ -329,8 +333,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "test"], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr b/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr index ff7cc10a92f077e36a3144b68ef8a1f567d3e8fa..6fc8dafb3e8a6e7ad890787331c07b5996b16c8b 100644 --- a/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr @@ -61,8 +61,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr b/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr index 31ec5da467e73eec06c2bc2807c2cc45e0f5df26..c813d8b5668682516f3bd2ea7510ab13affabce5 100644 --- a/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr +++ b/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr @@ -54,8 +54,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/libpq1.expr b/Cabal-tests/tests/ParserTests/regressions/libpq1.expr index 58d89e9003e73d350b3369b688ad4778d5d40998..954c378122cf7744a88775822e7e21f54b858737 100644 --- a/Cabal-tests/tests/ParserTests/regressions/libpq1.expr +++ b/Cabal-tests/tests/ParserTests/regressions/libpq1.expr @@ -1,696 +1,741 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `CNot (Var (OS Windows))`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName - "unix") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 4, - 2, - 0])) - (EarlierVersion - (mkVersion - [2, - 8]))) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "unix") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 4, - 2, - 0])) - (EarlierVersion - (mkVersion - [2, - 8]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}, - CondBranch - {condBranchCondition = `Var (OS Windows)`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName - "Win32") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 2, - 0, - 2])) - (EarlierVersion - (mkVersion - [2, - 7]))) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "Win32") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 2, - 0, - 2])) - (EarlierVersion - (mkVersion - [2, - 7]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}, - CondBranch - {condBranchCondition = `Var (PackageFlag (FlagName "use-pkg-config"))`, - condBranchIfFalse = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `Var (OS Windows)`, - condBranchIfFalse = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `Var (OS OpenBSD)`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = ["crypto", - "ssl"], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = ["pq"], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = ["libpq"], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [PkgconfigDependency - (PkgconfigName - "libpq") - (PcIntersectVersionRanges - (PcOrLaterVersion - (PkgconfigVersion - "9")) - (PcEarlierVersion - (PkgconfigVersion - "10")))], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (OrLaterVersion (mkVersion [4, 3])) - (EarlierVersion (mkVersion [4, 13]))) - mainLibSet, - Dependency - (PackageName "bytestring") - (IntersectVersionRanges - (OrLaterVersion (mkVersion [0, 9, 1, 0])) - (EarlierVersion (mkVersion [0, 11]))) - mainLibSet], - condTreeData = Library - {exposedModules = [ModuleName "Database.PostgreSQL.LibPQ", - ModuleName - "Database.PostgreSQL.LibPQ.Internal"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [LegacyExeDependency - "hsc2hs" - (OrLaterVersion - (mkVersion [0]))], - buildable = True, - cSources = ["cbits/noticehandlers.c"], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "src"], - hsc2hsOptions = [], - includeDirs = ["cbits"], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor ["-Wall"] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [4, 3])) - (EarlierVersion - (mkVersion - [4, - 13]))) - mainLibSet, - Dependency - (PackageName - "bytestring") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [0, - 9, - 1, - 0])) - (EarlierVersion - (mkVersion - [0, - 11]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [MkPackageFlag - {flagDefault = False, - flagDescription = "", - flagManual = True, - flagName = FlagName "use-pkg-config"}], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "Grant Monroe, Leon P Smith, Joey Adams", - benchmarks = [], - bugReports = "", - buildTypeRaw = Just Custom, - category = "Database", - copyright = concat - ["(c) 2010 Grant Monroe\n", "(c) 2011 Leon P Smith"], - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = concat - ["This is a binding to libpq: the C application\n", - "programmer's interface to PostgreSQL. libpq is a\n", - "set of library functions that allow client\n", - "programs to pass queries to the PostgreSQL\n", - "backend server and to receive the results of\n", - "these queries."], - executables = [], - extraDocFiles = [], - extraSrcFiles = ["cbits/noticehandlers.h", "CHANGELOG.md"], - extraTmpFiles = [], - foreignLibs = [], - homepage = "https://github.com/phadej/postgresql-libpq", - library = Nothing, - licenseFiles = [SymbolicPath "LICENSE"], - licenseRaw = Right BSD3, - maintainer = "Oleg Grenrus <oleg.grenrus@iki.fi>", - package = PackageIdentifier - {pkgName = PackageName "postgresql-libpq", - pkgVersion = mkVersion [0, 9, 4, 2]}, - pkgUrl = "", - setupBuildInfo = Just - SetupBuildInfo - {defaultSetupDepends = False, - setupDepends = [Dependency - (PackageName "base") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion [4, 3])) - (EarlierVersion - (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "Cabal") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion [1, 10])) - (EarlierVersion - (mkVersion [2, 5]))) - mainLibSet]}, - sourceRepos = [], - specVersion = CabalSpecV1_8, - stability = "", - subLibraries = [], - synopsis = "low-level binding to libpq", - testSuites = [], - testedWith = [_×_ GHC (ThisVersion (mkVersion [7, 0, 4])), - _×_ GHC (ThisVersion (mkVersion [7, 2, 2])), - _×_ GHC (ThisVersion (mkVersion [7, 4, 2])), - _×_ GHC (ThisVersion (mkVersion [7, 6, 3])), - _×_ GHC (ThisVersion (mkVersion [7, 8, 4])), - _×_ GHC (ThisVersion (mkVersion [7, 10, 3])), - _×_ GHC (ThisVersion (mkVersion [8, 0, 2])), - _×_ GHC (ThisVersion (mkVersion [8, 2, 2])), - _×_ GHC (ThisVersion (mkVersion [8, 4, 3])), - _×_ GHC (ThisVersion (mkVersion [8, 6, 1]))]}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV1_8, + package = PackageIdentifier { + pkgName = PackageName + "postgresql-libpq", + pkgVersion = mkVersion + [0, 9, 4, 2]}, + licenseRaw = Right BSD3, + licenseFiles = [ + SymbolicPath "LICENSE"], + copyright = concat + [ + "(c) 2010 Grant Monroe\n", + "(c) 2011 Leon P Smith"], + maintainer = + "Oleg Grenrus <oleg.grenrus@iki.fi>", + author = + "Grant Monroe, Leon P Smith, Joey Adams", + stability = "", + testedWith = [ + _×_ + GHC + (ThisVersion + (mkVersion [7, 0, 4])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 2, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 4, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 6, 3])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 8, 4])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 10, 3])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 0, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 2, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 4, 3])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 6, 1]))], + homepage = + "https://github.com/phadej/postgresql-libpq", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = + "low-level binding to libpq", + description = concat + [ + "This is a binding to libpq: the C application\n", + "programmer's interface to PostgreSQL. libpq is a\n", + "set of library functions that allow client\n", + "programs to pass queries to the PostgreSQL\n", + "backend server and to receive the results of\n", + "these queries."], + category = "Database", + customFieldsPD = [], + buildTypeRaw = Just Custom, + setupBuildInfo = Just + SetupBuildInfo { + setupDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [4, 3])) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "Cabal") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [1, 10])) + (EarlierVersion + (mkVersion [2, 5]))) + mainLibSet], + defaultSetupDepends = False}, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [ + "cbits/noticehandlers.h", + "CHANGELOG.md"], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [ + MkPackageFlag { + flagName = FlagName + "use-pkg-config", + flagDescription = "", + flagDefault = False, + flagManual = True}], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [ + ModuleName + "Database.PostgreSQL.LibPQ", + ModuleName + "Database.PostgreSQL.LibPQ.Internal"], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [ + LegacyExeDependency + "hsc2hs" + (OrLaterVersion + (mkVersion [0]))], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [ + "cbits/noticehandlers.c"], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "src"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = ["cbits"], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + ["-Wall"] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [4, 3])) + (EarlierVersion + (mkVersion [4, 13]))) + mainLibSet, + Dependency + (PackageName "bytestring") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [0, 9, 1, 0])) + (EarlierVersion + (mkVersion [0, 11]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [4, 3])) + (EarlierVersion + (mkVersion [4, 13]))) + mainLibSet, + Dependency + (PackageName "bytestring") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [0, 9, 1, 0])) + (EarlierVersion + (mkVersion [0, 11]))) + mainLibSet], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `CNot (Var (OS Windows))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "unix") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 4, 2, 0])) + (EarlierVersion + (mkVersion [2, 8]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "unix") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 4, 2, 0])) + (EarlierVersion + (mkVersion [2, 8]))) + mainLibSet], + condTreeComponents = []}, + condBranchIfFalse = Nothing}, + CondBranch { + condBranchCondition = + `Var (OS Windows)`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "Win32") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 2, 0, 2])) + (EarlierVersion + (mkVersion [2, 7]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "Win32") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 2, 0, 2])) + (EarlierVersion + (mkVersion [2, 7]))) + mainLibSet], + condTreeComponents = []}, + condBranchIfFalse = Nothing}, + CondBranch { + condBranchCondition = + `Var (PackageFlag (FlagName "use-pkg-config"))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [ + PkgconfigDependency + (PkgconfigName "libpq") + (PcIntersectVersionRanges + (PcOrLaterVersion + (PkgconfigVersion "9")) + (PcEarlierVersion + (PkgconfigVersion "10")))], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `Var (OS Windows)`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = ["libpq"], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = ["pq"], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `Var (OS OpenBSD)`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = ["crypto", "ssl"], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = + Nothing}]}}]}}]}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/libpq2.expr b/Cabal-tests/tests/ParserTests/regressions/libpq2.expr index 0df92cdbaba27249f1ee90f96a7e3ee8b2d72e74..0b1c1ccd528fc35be1e5e902a83d84a41a78d505 100644 --- a/Cabal-tests/tests/ParserTests/regressions/libpq2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/libpq2.expr @@ -1,697 +1,743 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `CNot (Var (OS Windows))`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName - "unix") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 4, - 2, - 0])) - (EarlierVersion - (mkVersion - [2, - 8]))) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "unix") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 4, - 2, - 0])) - (EarlierVersion - (mkVersion - [2, - 8]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}, - CondBranch - {condBranchCondition = `Var (OS Windows)`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName - "Win32") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 2, - 0, - 2])) - (EarlierVersion - (mkVersion - [2, - 7]))) - mainLibSet], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [Dependency - (PackageName - "Win32") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [2, - 2, - 0, - 2])) - (EarlierVersion - (mkVersion - [2, - 7]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}, - CondBranch - {condBranchCondition = `Var (PackageFlag (FlagName "use-pkg-config"))`, - condBranchIfFalse = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `Var (OS Windows)`, - condBranchIfFalse = Just - CondNode - {condTreeComponents = [CondBranch - {condBranchCondition = `Var (OS OpenBSD)`, - condBranchIfFalse = Nothing, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = ["crypto", - "ssl"], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = ["pq"], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = ["libpq"], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condBranchIfTrue = CondNode - {condTreeComponents = [], - condTreeConstraints = [], - condTreeData = Library - {exposedModules = [], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor - [] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [PkgconfigDependency - (PkgconfigName - "libpq") - (PcOrLaterVersion - (PkgconfigVersion - "9.3h"))], - profOptions = PerCompilerFlavor - [] - [], - sharedOptions = PerCompilerFlavor - [] - [], - staticOptions = PerCompilerFlavor - [] - [], - targetBuildDepends = [], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}}], - condTreeConstraints = [Dependency - (PackageName "base") - (IntersectVersionRanges - (OrLaterVersion (mkVersion [4, 3])) - (EarlierVersion (mkVersion [4, 13]))) - mainLibSet, - Dependency - (PackageName "bytestring") - (IntersectVersionRanges - (OrLaterVersion (mkVersion [0, 9, 1, 0])) - (EarlierVersion (mkVersion [0, 11]))) - mainLibSet], - condTreeData = Library - {exposedModules = [ModuleName "Database.PostgreSQL.LibPQ", - ModuleName - "Database.PostgreSQL.LibPQ.Internal"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [ExeDependency - (PackageName - "hsc2hs") - (UnqualComponentName - "hsc2hs") - (OrLaterVersion - (mkVersion - [0]))], - buildTools = [], - buildable = True, - cSources = ["cbits/noticehandlers.c"], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "src"], - hsc2hsOptions = [], - includeDirs = ["cbits"], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [], - options = PerCompilerFlavor ["-Wall"] [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [4, 3])) - (EarlierVersion - (mkVersion - [4, - 13]))) - mainLibSet, - Dependency - (PackageName - "bytestring") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion - [0, - 9, - 1, - 0])) - (EarlierVersion - (mkVersion - [0, - 11]))) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [MkPackageFlag - {flagDefault = False, - flagDescription = "", - flagManual = True, - flagName = FlagName "use-pkg-config"}], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "Grant Monroe, Leon P Smith, Joey Adams", - benchmarks = [], - bugReports = "", - buildTypeRaw = Just Custom, - category = "Database", - copyright = concat - ["(c) 2010 Grant Monroe\n", "(c) 2011 Leon P Smith"], - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = concat - ["This is a binding to libpq: the C application\n", - "programmer's interface to PostgreSQL. libpq is a\n", - "set of library functions that allow client\n", - "programs to pass queries to the PostgreSQL\n", - "backend server and to receive the results of\n", - "these queries."], - executables = [], - extraDocFiles = [], - extraSrcFiles = ["cbits/noticehandlers.h", "CHANGELOG.md"], - extraTmpFiles = [], - foreignLibs = [], - homepage = "https://github.com/phadej/postgresql-libpq", - library = Nothing, - licenseFiles = [SymbolicPath "LICENSE"], - licenseRaw = Left - (License (ELicense (ELicenseId BSD_3_Clause) Nothing)), - maintainer = "Oleg Grenrus <oleg.grenrus@iki.fi>", - package = PackageIdentifier - {pkgName = PackageName "postgresql-libpq", - pkgVersion = mkVersion [0, 9, 4, 2]}, - pkgUrl = "", - setupBuildInfo = Just - SetupBuildInfo - {defaultSetupDepends = False, - setupDepends = [Dependency - (PackageName "base") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion [4, 3])) - (EarlierVersion - (mkVersion [5]))) - mainLibSet, - Dependency - (PackageName "Cabal") - (IntersectVersionRanges - (OrLaterVersion - (mkVersion [1, 10])) - (EarlierVersion - (mkVersion [2, 5]))) - mainLibSet]}, - sourceRepos = [], - specVersion = CabalSpecV3_0, - stability = "", - subLibraries = [], - synopsis = "low-level binding to libpq", - testSuites = [], - testedWith = [_×_ GHC (ThisVersion (mkVersion [7, 0, 4])), - _×_ GHC (ThisVersion (mkVersion [7, 2, 2])), - _×_ GHC (ThisVersion (mkVersion [7, 4, 2])), - _×_ GHC (ThisVersion (mkVersion [7, 6, 3])), - _×_ GHC (ThisVersion (mkVersion [7, 8, 4])), - _×_ GHC (ThisVersion (mkVersion [7, 10, 3])), - _×_ GHC (ThisVersion (mkVersion [8, 0, 2])), - _×_ GHC (ThisVersion (mkVersion [8, 2, 2])), - _×_ GHC (ThisVersion (mkVersion [8, 4, 3])), - _×_ GHC (ThisVersion (mkVersion [8, 6, 1]))]}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV3_0, + package = PackageIdentifier { + pkgName = PackageName + "postgresql-libpq", + pkgVersion = mkVersion + [0, 9, 4, 2]}, + licenseRaw = Left + (License + (ELicense + (ELicenseId BSD_3_Clause) + Nothing)), + licenseFiles = [ + SymbolicPath "LICENSE"], + copyright = concat + [ + "(c) 2010 Grant Monroe\n", + "(c) 2011 Leon P Smith"], + maintainer = + "Oleg Grenrus <oleg.grenrus@iki.fi>", + author = + "Grant Monroe, Leon P Smith, Joey Adams", + stability = "", + testedWith = [ + _×_ + GHC + (ThisVersion + (mkVersion [7, 0, 4])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 2, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 4, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 6, 3])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 8, 4])), + _×_ + GHC + (ThisVersion + (mkVersion [7, 10, 3])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 0, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 2, 2])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 4, 3])), + _×_ + GHC + (ThisVersion + (mkVersion [8, 6, 1]))], + homepage = + "https://github.com/phadej/postgresql-libpq", + pkgUrl = "", + bugReports = "", + sourceRepos = [], + synopsis = + "low-level binding to libpq", + description = concat + [ + "This is a binding to libpq: the C application\n", + "programmer's interface to PostgreSQL. libpq is a\n", + "set of library functions that allow client\n", + "programs to pass queries to the PostgreSQL\n", + "backend server and to receive the results of\n", + "these queries."], + category = "Database", + customFieldsPD = [], + buildTypeRaw = Just Custom, + setupBuildInfo = Just + SetupBuildInfo { + setupDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [4, 3])) + (EarlierVersion + (mkVersion [5]))) + mainLibSet, + Dependency + (PackageName "Cabal") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [1, 10])) + (EarlierVersion + (mkVersion [2, 5]))) + mainLibSet], + defaultSetupDepends = False}, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [ + "cbits/noticehandlers.h", + "CHANGELOG.md"], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [ + MkPackageFlag { + flagName = FlagName + "use-pkg-config", + flagDescription = "", + flagDefault = False, + flagManual = True}], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [ + ModuleName + "Database.PostgreSQL.LibPQ", + ModuleName + "Database.PostgreSQL.LibPQ.Internal"], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [ + ExeDependency + (PackageName "hsc2hs") + (UnqualComponentName "hsc2hs") + (OrLaterVersion + (mkVersion [0]))], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [ + "cbits/noticehandlers.c"], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "src"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = ["cbits"], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + ["-Wall"] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [4, 3])) + (EarlierVersion + (mkVersion [4, 13]))) + mainLibSet, + Dependency + (PackageName "bytestring") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [0, 9, 1, 0])) + (EarlierVersion + (mkVersion [0, 11]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [4, 3])) + (EarlierVersion + (mkVersion [4, 13]))) + mainLibSet, + Dependency + (PackageName "bytestring") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [0, 9, 1, 0])) + (EarlierVersion + (mkVersion [0, 11]))) + mainLibSet], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `CNot (Var (OS Windows))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "unix") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 4, 2, 0])) + (EarlierVersion + (mkVersion [2, 8]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "unix") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 4, 2, 0])) + (EarlierVersion + (mkVersion [2, 8]))) + mainLibSet], + condTreeComponents = []}, + condBranchIfFalse = Nothing}, + CondBranch { + condBranchCondition = + `Var (OS Windows)`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "Win32") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 2, 0, 2])) + (EarlierVersion + (mkVersion [2, 7]))) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "Win32") + (IntersectVersionRanges + (OrLaterVersion + (mkVersion [2, 2, 0, 2])) + (EarlierVersion + (mkVersion [2, 7]))) + mainLibSet], + condTreeComponents = []}, + condBranchIfFalse = Nothing}, + CondBranch { + condBranchCondition = + `Var (PackageFlag (FlagName "use-pkg-config"))`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [ + PkgconfigDependency + (PkgconfigName "libpq") + (PcOrLaterVersion + (PkgconfigVersion "9.3h"))], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `Var (OS Windows)`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = ["libpq"], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = ["pq"], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = [ + CondBranch { + condBranchCondition = + `Var (OS OpenBSD)`, + condBranchIfTrue = CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [], + extraLibs = ["crypto", "ssl"], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [], + mixins = []}}, + condTreeConstraints = [], + condTreeComponents = []}, + condBranchIfFalse = + Nothing}]}}]}}]}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr b/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr index a0c7511608f97936d9ac97dfdf6bdb68040c86aa..2878577225bd4331f9328f76e58a2a714fa35268 100644 --- a/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr +++ b/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr @@ -40,8 +40,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "str-example"], diff --git a/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr b/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr index e000a7f239f1cee4792b4d5ec95a2d3920215f29..b2866d4a5e0c928f950fbacc8a68c4e8429e65d7 100644 --- a/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr @@ -40,8 +40,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "str-example"], diff --git a/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr b/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr index 2e6dac9296f97fd33602511830e99a48c412e0dd..1a02247a87ab66af11760718fa139b1dcd15fb76 100644 --- a/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr @@ -40,8 +40,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "str-example"], diff --git a/Cabal-tests/tests/ParserTests/regressions/monad-param.expr b/Cabal-tests/tests/ParserTests/regressions/monad-param.expr index 962fa335430ef87ba378e481faa1b920f385a6d6..0f94cf3be9d37d813fa22ee8cc3af6917906adc3 100644 --- a/Cabal-tests/tests/ParserTests/regressions/monad-param.expr +++ b/Cabal-tests/tests/ParserTests/regressions/monad-param.expr @@ -1,143 +1,158 @@ -GenericPackageDescription - {condBenchmarks = [], - condExecutables = [], - condForeignLibs = [], - condLibrary = Just - CondNode - {condTreeComponents = [], - condTreeConstraints = [Dependency - (PackageName "base") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "mtl") - (OrLaterVersion (mkVersion [0])) - mainLibSet, - Dependency - (PackageName "stm") - (OrLaterVersion (mkVersion [0])) - mainLibSet], - condTreeData = Library - {exposedModules = [ModuleName "Control.Monad.Parameterized"], - libBuildInfo = BuildInfo - {asmOptions = [], - asmSources = [], - autogenIncludes = [], - autogenModules = [], - buildToolDepends = [], - buildTools = [], - buildable = True, - cSources = [], - ccOptions = [], - cmmOptions = [], - cmmSources = [], - cppOptions = [], - customFieldsBI = [], - cxxOptions = [], - cxxSources = [], - defaultExtensions = [], - defaultLanguage = Nothing, - extraBundledLibs = [], - extraDynLibFlavours = [], - extraFrameworkDirs = [], - extraGHCiLibs = [], - extraLibDirs = [], - extraLibFlavours = [], - extraLibs = [], - frameworks = [], - hsSourceDirs = [SymbolicPath "src"], - hsc2hsOptions = [], - includeDirs = [], - includes = [], - installIncludes = [], - jsSources = [], - ldOptions = [], - mixins = [], - oldExtensions = [EnableExtension - MultiParamTypeClasses, - EnableExtension - FunctionalDependencies, - EnableExtension - OverlappingInstances, - EnableExtension - UndecidableInstances, - EnableExtension - EmptyDataDecls, - DisableExtension - ImplicitPrelude], - options = PerCompilerFlavor - ["-funbox-strict-fields", - "-threaded", - "-fasm"] - [], - otherExtensions = [], - otherLanguages = [], - otherModules = [], - pkgconfigDepends = [], - profOptions = PerCompilerFlavor [] [], - sharedOptions = PerCompilerFlavor [] [], - staticOptions = PerCompilerFlavor [] [], - targetBuildDepends = [Dependency - (PackageName - "base") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "mtl") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet, - Dependency - (PackageName - "stm") - (OrLaterVersion - (mkVersion - [0])) - mainLibSet], - virtualModules = []}, - libExposed = True, - libName = LMainLibName, - libVisibility = LibraryVisibilityPublic, - reexportedModules = [], - signatures = []}}, - condSubLibraries = [], - condTestSuites = [], - genPackageFlags = [], - gpdScannedVersion = Nothing, - packageDescription = PackageDescription - {author = "Edward Kmett <ekmett@gmail.com>", - benchmarks = [], - bugReports = "", - buildTypeRaw = Nothing, - category = "Control", - copyright = "Copyright (C) 2006-2007, Edward Kmett", - customFieldsPD = [], - dataDir = ".", - dataFiles = [], - description = "Implements parameterized monads by overloading the monad sugar with more liberal types.", - executables = [], - extraDocFiles = [], - extraSrcFiles = [], - extraTmpFiles = [], - foreignLibs = [], - homepage = "http://comonad.com/haskell/monad-param/dist/doc/html/Control-Monad-Parameterized.html", - library = Nothing, - licenseFiles = [SymbolicPath "LICENSE"], - licenseRaw = Right BSD3, - maintainer = "Edward Kmett <ekmett@gmail.com>", - package = PackageIdentifier - {pkgName = PackageName "monad-param", - pkgVersion = mkVersion [0, 0, 1]}, - pkgUrl = "http://comonad.com/haskell/monad-param", - setupBuildInfo = Nothing, - sourceRepos = [], - specVersion = CabalSpecV1_0, - stability = "alpha", - subLibraries = [], - synopsis = "Parameterized monads", - testSuites = [], - testedWith = []}} +GenericPackageDescription { + packageDescription = + PackageDescription { + specVersion = CabalSpecV1_0, + package = PackageIdentifier { + pkgName = PackageName + "monad-param", + pkgVersion = mkVersion + [0, 0, 1]}, + licenseRaw = Right BSD3, + licenseFiles = [ + SymbolicPath "LICENSE"], + copyright = + "Copyright (C) 2006-2007, Edward Kmett", + maintainer = + "Edward Kmett <ekmett@gmail.com>", + author = + "Edward Kmett <ekmett@gmail.com>", + stability = "alpha", + testedWith = [], + homepage = + "http://comonad.com/haskell/monad-param/dist/doc/html/Control-Monad-Parameterized.html", + pkgUrl = + "http://comonad.com/haskell/monad-param", + bugReports = "", + sourceRepos = [], + synopsis = + "Parameterized monads", + description = + "Implements parameterized monads by overloading the monad sugar with more liberal types.", + category = "Control", + customFieldsPD = [], + buildTypeRaw = Nothing, + setupBuildInfo = Nothing, + library = Nothing, + subLibraries = [], + executables = [], + foreignLibs = [], + testSuites = [], + benchmarks = [], + dataFiles = [], + dataDir = ".", + extraSrcFiles = [], + extraTmpFiles = [], + extraDocFiles = []}, + gpdScannedVersion = Nothing, + genPackageFlags = [], + condLibrary = Just + CondNode { + condTreeData = Library { + libName = LMainLibName, + exposedModules = [ + ModuleName + "Control.Monad.Parameterized"], + reexportedModules = [], + signatures = [], + libExposed = True, + libVisibility = + LibraryVisibilityPublic, + libBuildInfo = BuildInfo { + buildable = True, + buildTools = [], + buildToolDepends = [], + cppOptions = [], + asmOptions = [], + cmmOptions = [], + ccOptions = [], + cxxOptions = [], + ldOptions = [], + hsc2hsOptions = [], + pkgconfigDepends = [], + frameworks = [], + extraFrameworkDirs = [], + asmSources = [], + cmmSources = [], + cSources = [], + cxxSources = [], + jsSources = [], + hsSourceDirs = [ + SymbolicPath "src"], + otherModules = [], + virtualModules = [], + autogenModules = [], + defaultLanguage = Nothing, + otherLanguages = [], + defaultExtensions = [], + otherExtensions = [], + oldExtensions = [ + EnableExtension + MultiParamTypeClasses, + EnableExtension + FunctionalDependencies, + EnableExtension + OverlappingInstances, + EnableExtension + UndecidableInstances, + EnableExtension EmptyDataDecls, + DisableExtension + ImplicitPrelude], + extraLibs = [], + extraLibsStatic = [], + extraGHCiLibs = [], + extraBundledLibs = [], + extraLibFlavours = [], + extraDynLibFlavours = [], + extraLibDirs = [], + extraLibDirsStatic = [], + includeDirs = [], + includes = [], + autogenIncludes = [], + installIncludes = [], + options = PerCompilerFlavor + [ + "-funbox-strict-fields", + "-threaded", + "-fasm"] + [], + profOptions = PerCompilerFlavor + [] + [], + sharedOptions = + PerCompilerFlavor [] [], + staticOptions = + PerCompilerFlavor [] [], + customFieldsBI = [], + targetBuildDepends = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "mtl") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "stm") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + mixins = []}}, + condTreeConstraints = [ + Dependency + (PackageName "base") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "mtl") + (OrLaterVersion (mkVersion [0])) + mainLibSet, + Dependency + (PackageName "stm") + (OrLaterVersion (mkVersion [0])) + mainLibSet], + condTreeComponents = []}, + condSubLibraries = [], + condForeignLibs = [], + condExecutables = [], + condTestSuites = [], + condBenchmarks = []} diff --git a/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr b/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr index 42ac4c64375634752ebecd5ace9f9a04cc2e98bb..2af5d422e3bf7c6d783e3e865fbc2f3299d41384 100644 --- a/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr @@ -34,8 +34,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -100,8 +102,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/noVersion.expr b/Cabal-tests/tests/ParserTests/regressions/noVersion.expr index da99086255d2954799f3095307484f0516c46288..e96ca1efb35577f7c73c689383d53cacd0cf84cd 100644 --- a/Cabal-tests/tests/ParserTests/regressions/noVersion.expr +++ b/Cabal-tests/tests/ParserTests/regressions/noVersion.expr @@ -34,8 +34,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr b/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr index fdffa0b9fb467eb153ece38f29281dd1e564feb4..650054bcf00d7fb198df3f36f0580430b9ae3f87 100644 --- a/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr +++ b/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr @@ -35,8 +35,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -96,8 +98,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/shake.expr b/Cabal-tests/tests/ParserTests/regressions/shake.expr index dc219b0292ab5a217b4be99a2528dbd993789a99..36f522c82df907a59ce5216f9b6393b7e7184ee8 100644 --- a/Cabal-tests/tests/ParserTests/regressions/shake.expr +++ b/Cabal-tests/tests/ParserTests/regressions/shake.expr @@ -33,8 +33,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -110,8 +112,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -177,8 +181,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -248,8 +254,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -313,8 +321,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -383,8 +393,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -517,8 +529,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "src"], hsc2hsOptions = [], @@ -829,8 +843,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -898,8 +914,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -971,8 +989,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1038,8 +1058,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1110,8 +1132,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1247,8 +1271,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath ".", SymbolicPath "src"], @@ -1505,8 +1531,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1572,8 +1600,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1651,8 +1681,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1721,8 +1753,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1795,8 +1829,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1863,8 +1899,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -1936,8 +1974,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -2073,8 +2113,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "src"], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr b/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr index 43f81a8004d2e25aed5ac3fc141cef9b9fe15237..29b85215c1a2fd54872ac149595fc8be74cd185d 100644 --- a/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr +++ b/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr b/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr index 196b6cef66f5ee74fe1d30f9cbdb0bfd573e4c98..427f0eb21ca4e64c04da80b9db5fbf5fff61dde8 100644 --- a/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr b/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr index 0a21b1ee8c2a33970ee5481e27c25a7697cecc97..b7b57e34bf1910bf4e6f11e4d45270bf8f000da4 100644 --- a/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr @@ -31,8 +31,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr b/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr index 16d2c357afe438ce4ea8201978d9d560e0cfe47a..5d8fb72de8899fab6ad0c45a21a653e89c3fb342 100644 --- a/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr +++ b/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr @@ -68,8 +68,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "src"], hsc2hsOptions = [], @@ -238,8 +240,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "tests"], @@ -387,8 +391,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], @@ -464,8 +470,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "tests"], diff --git a/Cabal-tests/tests/ParserTests/regressions/version-sets.expr b/Cabal-tests/tests/ParserTests/regressions/version-sets.expr index decaa04d168d178514b43cae4b3c4517745ee459..f3c993b7b7b4a56643c12483049a3c3a40717d85 100644 --- a/Cabal-tests/tests/ParserTests/regressions/version-sets.expr +++ b/Cabal-tests/tests/ParserTests/regressions/version-sets.expr @@ -84,8 +84,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr b/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr index 6eca1adc1b8f45c72ce911a39e19208ee826b412..edbbeed7483e7b3b9e8ae54d7f03739bbb9b1ee2 100644 --- a/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr +++ b/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr @@ -40,8 +40,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [SymbolicPath "example-string"], @@ -128,8 +130,10 @@ GenericPackageDescription extraFrameworkDirs = [], extraGHCiLibs = [], extraLibDirs = [], + extraLibDirsStatic = [], extraLibFlavours = [], extraLibs = [], + extraLibsStatic = [], frameworks = [], hsSourceDirs = [], hsc2hsOptions = [], diff --git a/Cabal-tests/tests/UnitTests.hs b/Cabal-tests/tests/UnitTests.hs index 3721838f0ddca3a36abed819fd9996468ba5dcb5..9ef73b80d9b35d3917799a36d376fb1779e15eaf 100644 --- a/Cabal-tests/tests/UnitTests.hs +++ b/Cabal-tests/tests/UnitTests.hs @@ -16,6 +16,7 @@ import Distribution.Compat.Time import qualified UnitTests.Distribution.Compat.CreatePipe import qualified UnitTests.Distribution.Compat.Time import qualified UnitTests.Distribution.Compat.Graph +import qualified UnitTests.Distribution.Simple.Command import qualified UnitTests.Distribution.Simple.Glob import qualified UnitTests.Distribution.Simple.Program.GHC import qualified UnitTests.Distribution.Simple.Program.Internal @@ -23,6 +24,7 @@ import qualified UnitTests.Distribution.Simple.Utils import qualified UnitTests.Distribution.System import qualified UnitTests.Distribution.Utils.CharSet import qualified UnitTests.Distribution.Utils.Generic +import qualified UnitTests.Distribution.Utils.Json import qualified UnitTests.Distribution.Utils.NubList import qualified UnitTests.Distribution.Utils.ShortText import qualified UnitTests.Distribution.Utils.Structured @@ -48,6 +50,8 @@ tests mtimeChangeCalibrated = (UnitTests.Distribution.Compat.Time.tests mtimeChange) , testGroup "Distribution.Compat.Graph" UnitTests.Distribution.Compat.Graph.tests + , testGroup "Distribution.Simple.Command" + UnitTests.Distribution.Simple.Command.tests , testGroup "Distribution.Simple.Glob" UnitTests.Distribution.Simple.Glob.tests , UnitTests.Distribution.Simple.Program.GHC.tests @@ -57,6 +61,8 @@ tests mtimeChangeCalibrated = UnitTests.Distribution.Simple.Utils.tests ghcPath , testGroup "Distribution.Utils.Generic" UnitTests.Distribution.Utils.Generic.tests + , testGroup "Distribution.Utils.Json" $ + UnitTests.Distribution.Utils.Json.tests , testGroup "Distribution.Utils.NubList" UnitTests.Distribution.Utils.NubList.tests , testGroup "Distribution.Utils.ShortText" diff --git a/Cabal-tests/tests/UnitTests/Distribution/Simple/Command.hs b/Cabal-tests/tests/UnitTests/Distribution/Simple/Command.hs new file mode 100644 index 0000000000000000000000000000000000000000..ed93409e938ef176327370088b6f21913caf6bce --- /dev/null +++ b/Cabal-tests/tests/UnitTests/Distribution/Simple/Command.hs @@ -0,0 +1,44 @@ +module UnitTests.Distribution.Simple.Command + ( tests + ) where + +import Distribution.Simple.Command +import qualified Distribution.Simple.Flag as Flag +import Distribution.Simple.Setup (optionVerbosity) +import qualified Distribution.Verbosity as Verbosity +import Test.Tasty +import Test.Tasty.HUnit + +argumentTests :: [TestTree] +argumentTests = + [ testCase "parses verbosity successfully" $ do + let p = commandParseArgs cmdUI isGlobal ["-v2"] + assertEqual "expected verbose" (Right verbose) $ evalParse p + , testCase "handles argument parse error gracefully" $ do + let p = commandParseArgs cmdUI isGlobal ["-v=2"] + assertEqual "expected error" (Left "errors") $ evalParse p + ] + where + -- evaluate command parse result, to force possible exceptions in 'f' + evalParse p = case p of + CommandErrors _ -> Left "errors" + CommandHelp _ -> Left "help" + CommandList _ -> Left "list" + CommandReadyToGo (f, _) -> Right $ f Flag.NoFlag + verbose = Flag.Flag Verbosity.verbose + isGlobal = True + cmdUI = CommandUI + { commandName = "cmd" + , commandSynopsis = "the command" + , commandUsage = \name -> name ++ " cmd -v[N]" + , commandDescription = Nothing + , commandNotes = Nothing + , commandDefaultFlags = Flag.NoFlag + , commandOptions = const [ optField ] + } + optField = optionVerbosity id const + +tests :: [TestTree] +tests = + [ testGroup "option argument tests" argumentTests + ] diff --git a/Cabal-tests/tests/UnitTests/Distribution/Utils/Json.hs b/Cabal-tests/tests/UnitTests/Distribution/Utils/Json.hs new file mode 100644 index 0000000000000000000000000000000000000000..5609a72b555ad1c92bfd1e597ab40399b972abd0 --- /dev/null +++ b/Cabal-tests/tests/UnitTests/Distribution/Utils/Json.hs @@ -0,0 +1,42 @@ +{-# LANGUAGE GADTs #-} +{-# LANGUAGE OverloadedStrings #-} +module UnitTests.Distribution.Utils.Json + ( tests + ) where + +import Distribution.Utils.Json + +import Test.Tasty +import Test.Tasty.HUnit + +tests :: [TestTree] +tests = + [ testCase "escapes strings correctly" $ + renderJson (JsonString "foo\"bar") @?= "\"foo\\\"bar\"" + , testCase "renders empty list" $ + renderJson (JsonArray []) @?= "[]" + , testCase "renders singleton list" $ + renderJson (JsonArray [JsonString "foo\"bar"]) @?= "[\"foo\\\"bar\"]" + , testCase "renders list" $ + renderJson (JsonArray [JsonString "foo\"bar", JsonString "baz"]) @?= "[\"foo\\\"bar\",\"baz\"]" + , testCase "renders empty object" $ + renderJson (JsonObject []) @?= "{}" + , testCase "renders singleton object" $ + renderJson (JsonObject [("key", JsonString "foo\"bar")]) @?= "{\"key\":\"foo\\\"bar\"}" + , testCase "renders object" $ + renderJson (JsonObject + [ ("key", JsonString "foo\"bar") + , ("key2", JsonString "baz")]) + @?= "{\"key\":\"foo\\\"bar\",\"key2\":\"baz\"}" + , testCase "renders number" $ + renderJson (JsonNumber 0) @?= "0" + , testCase "renders negative number" $ + renderJson (JsonNumber (-1)) @?= "-1" + , testCase "renders big number" $ + renderJson (JsonNumber 5000000) @?= "5000000" + , testCase "renders bool" $ do + renderJson (JsonBool True) @?= "true" + renderJson (JsonBool False) @?= "false" + , testCase "renders null" $ do + renderJson JsonNull @?= "null" + ] diff --git a/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs b/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs index cf244262173fef7869d64b2b16bd3c68a8272d62..1d715af86e9995797879b317f090ffeac846c0eb 100644 --- a/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs +++ b/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs @@ -27,9 +27,9 @@ tests = testGroup "Distribution.Utils.Structured" -- The difference is in encoding of newtypes #if MIN_VERSION_base(4,7,0) , testCase "GenericPackageDescription" $ - md5Check (Proxy :: Proxy GenericPackageDescription) 0x9b7d0415b1d2522d72ac9e9739c97574 + md5Check (Proxy :: Proxy GenericPackageDescription) 0xa164cbe5092a1cd31da1f15358d1537a , testCase "LocalBuildInfo" $ - md5Check (Proxy :: Proxy LocalBuildInfo) 0x0ca1dc5da4c4695a9da40e080bf4f536 + md5Check (Proxy :: Proxy LocalBuildInfo) 0xac70971ea59d30aab7e4b6dafc9113d4 #endif ] diff --git a/Cabal-tree-diff/Cabal-tree-diff.cabal b/Cabal-tree-diff/Cabal-tree-diff.cabal index 0f2804c638081a004dbd5a29c0ee9122cd00f905..75b932207caad9927fa4c0320cd04b91c8661c49 100644 --- a/Cabal-tree-diff/Cabal-tree-diff.cabal +++ b/Cabal-tree-diff/Cabal-tree-diff.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: Cabal-tree-diff -version: 3.6.0.0 +version: 3.7.0.0 synopsis: QuickCheck instances for types in Cabal category: Testing description: Provides tree-diff ToExpr instances for some types in Cabal @@ -11,7 +11,7 @@ library ghc-options: -Wall build-depends: , base - , Cabal ^>=3.6.0.0 + , Cabal ^>=3.7.0.0 , tree-diff ^>=0.1 || ^>=0.2 exposed-modules: Data.TreeDiff.Instances.Cabal diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal index 1b328a47702c3f004955bf30368320ef757cbd83..8158d4640edc2ce9ae8d988f4076a6685181a502 100644 --- a/Cabal/Cabal.cabal +++ b/Cabal/Cabal.cabal @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: Cabal -version: 3.6.0.0 +version: 3.7.0.0 copyright: 2003-2021, Cabal Development Team (see AUTHORS file) license: BSD3 license-file: LICENSE @@ -75,7 +75,7 @@ library if !impl(ghc >= 7.8) -- semigroups depends on tagged. - build-depends: tagged >=0.8.6 && <0.9 + build-depends: tagged >=0.8.6 && <0.9, bytestring-builder >= 0.10.8 && <0.11 exposed-modules: Distribution.Backpack @@ -254,6 +254,7 @@ library Distribution.Types.GivenComponent Distribution.Types.PackageVersionConstraint Distribution.Utils.Generic + Distribution.Utils.Json Distribution.Utils.NubList Distribution.Utils.ShortText Distribution.Utils.Progress @@ -337,7 +338,6 @@ library Distribution.Simple.GHC.EnvironmentParser Distribution.Simple.GHC.Internal Distribution.Simple.GHC.ImplInfo - Distribution.Simple.Utils.Json Distribution.ZinzaPrelude Paths_Cabal diff --git a/Cabal/ChangeLog.md b/Cabal/ChangeLog.md index e9de41ae9ccc227ed6889be562cd4912aaa2649e..2a574305b1cf77cbc43f45728f45f85861299076 100644 --- a/Cabal/ChangeLog.md +++ b/Cabal/ChangeLog.md @@ -1,3 +1,6 @@ +# 3.8.0.0 [Emily Pillmore](mailgo:emilypi@cohomolo.gy) _Month _Year + * See https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.8.0.0.md + # 3.6.0.0 [Emily Pillmore](mailgo:emilypi@cohomolo.gy) August 2021 * See https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.6.0.0.md diff --git a/Cabal/src/Distribution/CabalSpecVersion.hs b/Cabal/src/Distribution/CabalSpecVersion.hs index 5e4345bdc592130a222db3298979208cee0c6415..142ade373c45ccac078870b3b40c0829db0d0c1c 100644 --- a/Cabal/src/Distribution/CabalSpecVersion.hs +++ b/Cabal/src/Distribution/CabalSpecVersion.hs @@ -29,6 +29,7 @@ data CabalSpecVersion -- 3.2: no changes | CabalSpecV3_4 | CabalSpecV3_6 + | CabalSpecV3_8 deriving (Eq, Ord, Show, Read, Enum, Bounded, Typeable, Data, Generic) instance Binary CabalSpecVersion @@ -39,6 +40,7 @@ instance NFData CabalSpecVersion where rnf = genericRnf -- -- @since 3.0.0.0 showCabalSpecVersion :: CabalSpecVersion -> String +showCabalSpecVersion CabalSpecV3_8 = "3.8" showCabalSpecVersion CabalSpecV3_6 = "3.6" showCabalSpecVersion CabalSpecV3_4 = "3.4" showCabalSpecVersion CabalSpecV3_0 = "3.0" @@ -58,7 +60,7 @@ showCabalSpecVersion CabalSpecV1_2 = "1.2" showCabalSpecVersion CabalSpecV1_0 = "1.0" cabalSpecLatest :: CabalSpecVersion -cabalSpecLatest = CabalSpecV3_6 +cabalSpecLatest = CabalSpecV3_8 -- | Parse 'CabalSpecVersion' from version digits. -- @@ -66,6 +68,7 @@ cabalSpecLatest = CabalSpecV3_6 -- cabalSpecFromVersionDigits :: [Int] -> Maybe CabalSpecVersion cabalSpecFromVersionDigits v + | v == [3,8] = Just CabalSpecV3_8 | v == [3,6] = Just CabalSpecV3_6 | v == [3,4] = Just CabalSpecV3_4 | v == [3,0] = Just CabalSpecV3_0 @@ -87,6 +90,7 @@ cabalSpecFromVersionDigits v -- | @since 3.4.0.0 cabalSpecToVersionDigits :: CabalSpecVersion -> [Int] +cabalSpecToVersionDigits CabalSpecV3_8 = [3,8] cabalSpecToVersionDigits CabalSpecV3_6 = [3,6] cabalSpecToVersionDigits CabalSpecV3_4 = [3,4] cabalSpecToVersionDigits CabalSpecV3_0 = [3,0] @@ -131,7 +135,7 @@ specHasCommonStanzas v = else NoCommonStanzas specHasElif :: CabalSpecVersion -> HasElif -specHasElif v = +specHasElif v = if v >= CabalSpecV2_2 then HasElif else NoElif diff --git a/Cabal/src/Distribution/GetOpt.hs b/Cabal/src/Distribution/GetOpt.hs index f2868905abe19201cbdc6cd81bf143495fb7c234..18352df87b0636d92623a973f18ef1ca58a04f4f 100644 --- a/Cabal/src/Distribution/GetOpt.hs +++ b/Cabal/src/Distribution/GetOpt.hs @@ -17,8 +17,9 @@ -- * Line wrapping in the 'usageInfo' output, plus a more compact -- rendering of short options, and slightly less padding. -- --- If you want to take on the challenge of merging this with the GetOpt --- from the base package then go for it! +-- * Parsing of option arguments is allowed to fail. +-- +-- * 'ReturnInOrder' argument order is removed. -- {-# LANGUAGE TupleSections #-} {-# LANGUAGE NamedFieldPuns #-} @@ -36,8 +37,34 @@ module Distribution.GetOpt ( import Prelude () import Distribution.Compat.Prelude -import System.Console.GetOpt - ( ArgOrder(..), OptDescr(..), ArgDescr(..) ) + +-- | What to do with options following non-options +data ArgOrder a + = RequireOrder -- ^ no option processing after first non-option + | Permute -- ^ freely intersperse options and non-options + +data OptDescr a = -- description of a single options: + Option [Char] -- list of short option characters + [String] -- list of long option strings (without "--") + (ArgDescr a) -- argument descriptor + String -- explanation of option for user + +instance Functor OptDescr where + fmap f (Option a b argDescr c) = Option a b (fmap f argDescr) c + +-- | Describes whether an option takes an argument or not, and if so +-- how the argument is parsed to a value of type @a@. +-- +-- Compared to System.Console.GetOpt, we allow for parse errors. +data ArgDescr a + = NoArg a -- ^ no argument expected + | ReqArg (String -> Either String a) String -- ^ option requires argument + | OptArg (Maybe String -> Either String a) String -- ^ optional argument + +instance Functor ArgDescr where + fmap f (NoArg a) = NoArg (f a) + fmap f (ReqArg g s) = ReqArg (fmap f . g) s + fmap f (OptArg g s) = OptArg (fmap f . g) s data OptKind a -- kind of cmd line arg (internal use only): = Opt a -- an option @@ -46,8 +73,8 @@ data OptKind a -- kind of cmd line arg (internal use only): | EndOfOpts -- end-of-options marker (i.e. "--") | OptErr String -- something went wrong... -data OptHelp a = OptHelp { - optNames :: a, +data OptHelp = OptHelp { + optNames :: String, optHelp :: String } @@ -155,10 +182,8 @@ getOpt' ordering optDescr (arg:args) = procNextOpt opt ordering procNextOpt (UnreqOpt u) _ = (os,xs,u:us,es) procNextOpt (NonOpt x) RequireOrder = ([],x:rest,[],[]) procNextOpt (NonOpt x) Permute = (os,x:xs,us,es) - procNextOpt (NonOpt x) (ReturnInOrder f) = (f x :os, xs,us,es) procNextOpt EndOfOpts RequireOrder = ([],rest,[],[]) procNextOpt EndOfOpts Permute = ([],rest,[],[]) - procNextOpt EndOfOpts (ReturnInOrder f) = (map f rest,[],[],[]) procNextOpt (OptErr e) _ = (os,xs,us,e:es) (opt,rest) = getNext arg args optDescr @@ -181,15 +206,16 @@ longOpt ls rs optDescr = long ads arg rs options = if null exact then getWith isPrefixOf else exact ads = [ ad | Option _ _ ad _ <- options ] optStr = "--" ++ opt + fromRes = fromParseResult optStr long (_:_:_) _ rest = (errAmbig options optStr,rest) long [NoArg a ] [] rest = (Opt a,rest) long [NoArg _ ] ('=':_) rest = (errNoArg optStr,rest) long [ReqArg _ d] [] [] = (errReq d optStr,[]) - long [ReqArg f _] [] (r:rest) = (Opt (f r),rest) - long [ReqArg f _] ('=':xs) rest = (Opt (f xs),rest) - long [OptArg f _] [] rest = (Opt (f Nothing),rest) - long [OptArg f _] ('=':xs) rest = (Opt (f (Just xs)),rest) + long [ReqArg f _] [] (r:rest) = (fromRes (f r),rest) + long [ReqArg f _] ('=':xs) rest = (fromRes (f xs),rest) + long [OptArg f _] [] rest = (fromRes (f Nothing),rest) + long [OptArg f _] ('=':xs) rest = (fromRes (f (Just xs)),rest) long _ _ rest = (UnreqOpt ("--"++ls),rest) -- handle short option @@ -198,15 +224,16 @@ shortOpt y ys rs optDescr = short ads ys rs where options = [ o | o@(Option ss _ _ _) <- optDescr, s <- ss, y == s ] ads = [ ad | Option _ _ ad _ <- options ] optStr = '-':[y] + fromRes = fromParseResult optStr short (_:_:_) _ rest = (errAmbig options optStr,rest) short (NoArg a :_) [] rest = (Opt a,rest) short (NoArg a :_) xs rest = (Opt a,('-':xs):rest) short (ReqArg _ d:_) [] [] = (errReq d optStr,[]) - short (ReqArg f _:_) [] (r:rest) = (Opt (f r),rest) - short (ReqArg f _:_) xs rest = (Opt (f xs),rest) - short (OptArg f _:_) [] rest = (Opt (f Nothing),rest) - short (OptArg f _:_) xs rest = (Opt (f (Just xs)),rest) + short (ReqArg f _:_) [] (r:rest) = (fromRes (f r),rest) + short (ReqArg f _:_) xs rest = (fromRes (f xs),rest) + short (OptArg f _:_) [] rest = (fromRes (f Nothing),rest) + short (OptArg f _:_) xs rest = (fromRes (f (Just xs)),rest) short [] [] rest = (UnreqOpt optStr,rest) short [] xs rest = (UnreqOpt (optStr++xs),rest) -- This is different vs upstream = (UnreqOpt optStr,('-':xs):rest) @@ -215,9 +242,14 @@ shortOpt y ys rs optDescr = short ads ys rs -- But why was no equivalent change required for longOpt? So could -- this change go upstream? +fromParseResult :: String -> Either String a -> OptKind a +fromParseResult optStr res = case res of + Right x -> Opt x + Left err -> OptErr ("invalid argument to option `" ++ optStr ++ "': " ++ err ++ "\n") + -- miscellaneous error formatting -errAmbig :: [OptDescr a] -> String -> OptKind a +errAmbig :: [OptDescr a] -> String -> OptKind b errAmbig ods optStr = OptErr (usageInfo header ods) where header = "option `" ++ optStr ++ "' is ambiguous; could be one of:" diff --git a/Cabal/src/Distribution/PackageDescription/Check.hs b/Cabal/src/Distribution/PackageDescription/Check.hs index 689b3905e31ae332ff0f3bed686d7d16169d110b..fc1c196f06b852335ede922179199a35639b6d14 100644 --- a/Cabal/src/Distribution/PackageDescription/Check.hs +++ b/Cabal/src/Distribution/PackageDescription/Check.hs @@ -154,6 +154,7 @@ checkPackage gpkg mpkg = ++ checkUnusedFlags gpkg ++ checkUnicodeXFields gpkg ++ checkPathsModuleExtensions pkg + ++ checkSetupVersions gpkg where pkg = fromMaybe (flattenPackageDescription gpkg) mpkg @@ -440,10 +441,9 @@ checkFields pkg = check (not . FilePath.Windows.isValid . prettyShow . packageName $ pkg) $ PackageDistInexcusable $ - "Unfortunately, the package name '" ++ prettyShow (packageName pkg) - ++ "' is one of the reserved system file names on Windows. Many tools " - ++ "need to convert package names to file names so using this name " - ++ "would cause problems." + "The package name '" ++ prettyShow (packageName pkg) ++ "' is " + ++ "invalid on Windows. Many tools need to convert package names to " + ++ "file names so using this name would cause problems." , check ((isPrefixOf "z-") . prettyShow . packageName $ pkg) $ PackageDistInexcusable $ @@ -539,13 +539,15 @@ checkFields pkg = ++ "for example 'tested-with: GHC==6.10.4, GHC==6.12.3' and not " ++ "'tested-with: GHC==6.10.4 && ==6.12.3'." - , check (not (null depInternalLibraryWithExtraVersion)) $ - PackageBuildWarning $ - "The package has an extraneous version range for a dependency on an " - ++ "internal library: " - ++ commaSep (map prettyShow depInternalLibraryWithExtraVersion) - ++ ". This version range includes the current package but isn't needed " - ++ "as the current package's library will always be used." + -- for more details on why the following was commented out, + -- check https://github.com/haskell/cabal/pull/7470#issuecomment-875878507 + -- , check (not (null depInternalLibraryWithExtraVersion)) $ + -- PackageBuildWarning $ + -- "The package has an extraneous version range for a dependency on an " + -- ++ "internal library: " + -- ++ commaSep (map prettyShow depInternalLibraryWithExtraVersion) + -- ++ ". This version range includes the current package but isn't needed " + -- ++ "as the current package's library will always be used." , check (not (null depInternalLibraryWithImpossibleVersion)) $ PackageBuildImpossible $ @@ -555,13 +557,13 @@ checkFields pkg = ++ ". This version range does not include the current package, and must " ++ "be removed as the current package's library will always be used." - , check (not (null depInternalExecutableWithExtraVersion)) $ - PackageBuildWarning $ - "The package has an extraneous version range for a dependency on an " - ++ "internal executable: " - ++ commaSep (map prettyShow depInternalExecutableWithExtraVersion) - ++ ". This version range includes the current package but isn't needed " - ++ "as the current package's executable will always be used." + -- , check (not (null depInternalExecutableWithExtraVersion)) $ + -- PackageBuildWarning $ + -- "The package has an extraneous version range for a dependency on an " + -- ++ "internal executable: " + -- ++ commaSep (map prettyShow depInternalExecutableWithExtraVersion) + -- ++ ". This version range includes the current package but isn't needed " + -- ++ "as the current package's executable will always be used." , check (not (null depInternalExecutableWithImpossibleVersion)) $ PackageBuildImpossible $ @@ -617,12 +619,12 @@ checkFields pkg = , isInternal pkg dep ] - depInternalLibraryWithExtraVersion = - [ dep - | dep@(Dependency _ versionRange _) <- internalLibDeps - , not $ isAnyVersion versionRange - , packageVersion pkg `withinRange` versionRange - ] + -- depInternalLibraryWithExtraVersion = + -- [ dep + -- | dep@(Dependency _ versionRange _) <- internalLibDeps + -- , not $ isAnyVersion versionRange + -- , packageVersion pkg `withinRange` versionRange + -- ] depInternalLibraryWithImpossibleVersion = [ dep @@ -630,12 +632,12 @@ checkFields pkg = , not $ packageVersion pkg `withinRange` versionRange ] - depInternalExecutableWithExtraVersion = - [ dep - | dep@(ExeDependency _ _ versionRange) <- internalExeDeps - , not $ isAnyVersion versionRange - , packageVersion pkg `withinRange` versionRange - ] + -- depInternalExecutableWithExtraVersion = + -- [ dep + -- | dep@(ExeDependency _ _ versionRange) <- internalExeDeps + -- , not $ isAnyVersion versionRange + -- , packageVersion pkg `withinRange` versionRange + -- ] depInternalExecutableWithImpossibleVersion = [ dep @@ -766,10 +768,6 @@ checkSourceRepos pkg = PackageDistInexcusable "The 'subdir' field of a source-repository must be a relative path." - , check (maybe False isAbsoluteOnAnyPlatform (repoSubdir repo)) $ - PackageDistInexcusable - "The 'subdir' field of a source-repository must be a relative path." - , do subdir <- repoSubdir repo err <- isGoodRelativeDirectoryPath subdir @@ -913,9 +911,15 @@ checkGhcOptions fieldName getOptions pkg = , checkAlternatives fieldName "extra-libraries" [ (flag, lib) | flag@('-':'l':lib) <- all_ghc_options ] + , checkAlternatives fieldName "extra-libraries-static" + [ (flag, lib) | flag@('-':'l':lib) <- all_ghc_options ] + , checkAlternatives fieldName "extra-lib-dirs" [ (flag, dir) | flag@('-':'L':dir) <- all_ghc_options ] + , checkAlternatives fieldName "extra-lib-dirs-static" + [ (flag, dir) | flag@('-':'L':dir) <- all_ghc_options ] + , checkAlternatives fieldName "frameworks" [ (flag, fmwk) | (flag@"-framework", fmwk) <- zip all_ghc_options (safeTail all_ghc_options) ] @@ -1033,7 +1037,7 @@ checkCPPOptions pkg = catMaybes [ (flag, dir) | flag@('-':'I':dir) <- all_cppOptions ] ] ++ - [ PackageBuildWarning $ "'cpp-options': " ++ opt ++ " is not portable C-preprocessor flag" + [ PackageBuildWarning $ "'cpp-options: " ++ opt ++ "' is not a portable C-preprocessor flag." | opt <- all_cppOptions -- "-I" is handled above, we allow only -DNEWSTUFF and -UOLDSTUFF , not $ any (`isPrefixOf` opt) ["-D", "-U", "-I" ] @@ -1055,9 +1059,15 @@ data PathKind = PathKindFile | PathKindDirectory | PathKindGlob + deriving (Eq) checkPaths :: PackageDescription -> [PackageCheck] checkPaths pkg = + checkPackageFileNamesWithGlob + [ (kind == PathKindGlob, path) + | (path, _, kind) <- relPaths ++ absPaths + ] + ++ [ PackageBuildWarning $ quote (field ++ ": " ++ path) ++ " is a relative path outside of the source tree. " @@ -1066,12 +1076,13 @@ checkPaths pkg = , isOutsideTree path ] ++ [ PackageDistInexcusable $ - quote (field ++ ": " ++ path) ++ " is an absolute path." + quote (field ++ ": " ++ path) ++ " specifies an absolute path, but the " + ++ quote field ++ " field must use relative paths." | (path, field, _) <- relPaths , isAbsoluteOnAnyPlatform path ] ++ [ PackageDistInexcusable $ - quote (field ++ ": " ++ path) ++ " is not good relative path: " ++ err + quote (field ++ ": " ++ path) ++ " is not a good relative path: " ++ show err | (path, field, kind) <- relPaths -- these are not paths, but globs... , err <- maybeToList $ case kind of @@ -1090,7 +1101,7 @@ checkPaths pkg = , isInsideDist path ] ++ [ PackageDistInexcusable $ - "The 'ghc-options' contains the path '" ++ path ++ "' which points " + "The 'ghc-options' contain the path '" ++ path ++ "' which points " ++ "inside the 'dist' directory. This is not reliable because the " ++ "location of this directory is configurable by the user (or package " ++ "manager). In addition the layout of the 'dist' directory is subject " @@ -1152,7 +1163,8 @@ checkPaths pkg = absPaths = concat [ [ (path, "includes", PathKindFile) | path <- includes bi ] ++ [ (path, "include-dirs", PathKindDirectory) | path <- includeDirs bi ] ++ - [ (path, "extra-lib-dirs", PathKindDirectory) | path <- extraLibDirs bi ] + [ (path, "extra-lib-dirs", PathKindDirectory) | path <- extraLibDirs bi ] ++ + [ (path, "extra-lib-dirs-static", PathKindDirectory) | path <- extraLibDirsStatic bi ] | bi <- allBuildInfo pkg ] @@ -1276,12 +1288,12 @@ checkCabalVersion pkg = ++ "so you need to specify 'cabal-version: >= 1.6'." -- check for new language extensions - , checkVersion CabalSpecV1_4 (not (null mentionedExtensionsThatNeedCabal12)) $ + , checkVersion CabalSpecV1_2 (not (null mentionedExtensionsThatNeedCabal12)) $ PackageDistInexcusable $ "Unfortunately the language extensions " ++ commaSep (map (quote . prettyShow) mentionedExtensionsThatNeedCabal12) ++ " break the parser in earlier Cabal versions so you need to " - ++ "specify 'cabal-version: >= 1.4'. Alternatively if you require " + ++ "specify 'cabal-version: >= 1.2'. Alternatively if you require " ++ "compatibility with earlier Cabal versions then you may be able to " ++ "use an equivalent compiler-specific flag." @@ -1405,7 +1417,7 @@ checkPackageVersions pkg = -- For example this bans "build-depends: base >= 3". -- It should probably be "build-depends: base >= 3 && < 4" -- which is the same as "build-depends: base == 3.*" - check (not (boundedAbove baseDependency)) $ + check (not (hasUpperBound baseDependency)) $ PackageDistInexcusable $ "The dependency 'build-depends: base' does not specify an upper " ++ "bound on the version number. Each major release of the 'base' " @@ -1420,21 +1432,7 @@ checkPackageVersions pkg = ] where - -- TODO: What we really want to do is test if there exists any - -- configuration in which the base version is unbounded above. - -- However that's a bit tricky because there are many possible - -- configurations. As a cheap easy and safe approximation we will - -- pick a single "typical" configuration and check if that has an - -- open upper bound. To get a typical configuration we finalise - -- using no package index and the current platform. - finalised = finalizePD - mempty defaultComponentRequestedSpec (const True) - buildPlatform - (unknownCompilerInfo - (CompilerId buildCompilerFlavor nullVersion) - NoAbiTag) - [] pkg - baseDependency = case finalised of + baseDependency = case typicalPkg pkg of Right (pkg', _) | not (null baseDeps) -> foldr intersectVersionRanges anyVersion baseDeps where @@ -1444,18 +1442,9 @@ checkPackageVersions pkg = -- Just in case finalizePD fails for any reason, -- or if the package doesn't depend on the base package at all, - -- then we will just skip the check, since boundedAbove noVersion = True + -- then we will just skip the check, since hasUpperBound noVersion = True _ -> noVersion - -- TODO: move to Distribution.Version - boundedAbove :: VersionRange -> Bool - boundedAbove vr = case asVersionIntervals vr of - [] -> True -- this is the inconsistent version range. - (x:xs) -> case last (x:|xs) of - VersionInterval _ UpperBound {} -> True - VersionInterval _ NoUpperBound -> False - - checkConditionals :: GenericPackageDescription -> [PackageCheck] checkConditionals pkg = catMaybes [ @@ -1563,11 +1552,11 @@ checkPathsModuleExtensions pd | specVersion pd >= CabalSpecV2_2 = [] | any checkBI (allBuildInfo pd) || any checkLib (allLibraries pd) = return $ PackageBuildImpossible $ unwords - [ "The package uses RebindableSyntax with OverloadedStrings or OverloadedLists" - , "in default-extensions, and also Paths_ autogen module." - , "That configuration is known to cause compile failures with Cabal < 2.2." - , "To use these default-extensions with Paths_ autogen module" - , "specify at least 'cabal-version: 2.2'." + [ "Packages using RebindableSyntax with OverloadedStrings or" + , "OverloadedLists in default-extensions, in conjunction with the" + , "autogenerated module Paths_*, are known to cause compile failures" + , "with Cabal < 2.2. To use these default-extensions with a Paths_*" + , "autogen module, specify at least 'cabal-version: 2.2'." ] | otherwise = [] where @@ -1614,7 +1603,7 @@ checkDevelopmentOnlyFlagsOptions fieldName ghcOptions = PackageDistInexcusable $ "'" ++ fieldName ++ ": -Werror' makes the package easy to " ++ "break with future GHC versions because new GHC versions often " - ++ "add new warnings. " + ++ "add new warnings." ++ extraExplanation , check (has_J) $ @@ -1626,7 +1615,7 @@ checkDevelopmentOnlyFlagsOptions fieldName ghcOptions = , checkFlags ["-fdefer-type-errors"] $ PackageDistInexcusable $ "'" ++ fieldName ++ ": -fdefer-type-errors' is fine during development but " - ++ "is not appropriate for a distributed package. " + ++ "is not appropriate for a distributed package." ++ extraExplanation -- -dynamic is not a debug flag @@ -1634,7 +1623,7 @@ checkDevelopmentOnlyFlagsOptions fieldName ghcOptions = ghcOptions) $ PackageDistInexcusable $ "'" ++ fieldName ++ ": -d*' debug flags are not appropriate " - ++ "for a distributed package. " + ++ "for a distributed package." ++ extraExplanation , checkFlags ["-fprof-auto", "-fprof-auto-top", "-fprof-auto-calls", @@ -1647,7 +1636,7 @@ checkDevelopmentOnlyFlagsOptions fieldName ghcOptions = ++ "that use this one these flags clutter the profile output with " ++ "excessive detail. If you think other packages really want to see " ++ "cost centres from this package then use '-fprof-auto-exported' " - ++ "which puts cost centres only on exported functions. " + ++ "which puts cost centres only on exported functions." ++ extraExplanation ] where @@ -1832,8 +1821,8 @@ checkCabalFileName ops pkg = do Right pdfile | takeFileName pdfile == expectedCabalname -> return Nothing | otherwise -> return $ Just $ PackageDistInexcusable $ - "The filename " ++ pdfile ++ " does not match package name " ++ - "(expected: " ++ expectedCabalname ++ ")" + "The filename " ++ quote pdfile ++ " does not match package name " ++ + "(expected: " ++ quote expectedCabalname ++ ")" where pkgname = unPackageName . packageName $ pkg expectedCabalname = pkgname <.> "cabal" @@ -1916,6 +1905,7 @@ checkLocalPathsExist ops pkg = do | bi <- allBuildInfo pkg , (dir, kind) <- [ (dir, "extra-lib-dirs") | dir <- extraLibDirs bi ] + ++ [ (dir, "extra-lib-dirs-static") | dir <- extraLibDirsStatic bi ] ++ [ (dir, "extra-framework-dirs") | dir <- extraFrameworkDirs bi ] ++ [ (dir, "include-dirs") | dir <- includeDirs bi ] @@ -1924,7 +1914,7 @@ checkLocalPathsExist ops pkg = do missing <- filterM (liftM not . doesDirectoryExist ops . fst) dirs return [ PackageBuildWarning { explanation = quote (kind ++ ": " ++ dir) - ++ " directory does not exist." + ++ " specifies a directory which does not exist." } | (dir, kind) <- missing ] @@ -1966,25 +1956,39 @@ repoTypeDirname Pijul = [".pijul"] -- should be done for example when creating or validating a package tarball. -- checkPackageFileNames :: [FilePath] -> [PackageCheck] -checkPackageFileNames files = - (take 1 . mapMaybe checkWindowsPath $ files) - ++ (take 1 . mapMaybe checkTarPath $ files) - -- If we get any of these checks triggering then we're likely to get - -- many, and that's probably not helpful, so return at most one. - -checkWindowsPath :: FilePath -> Maybe PackageCheck -checkWindowsPath path = - check (not $ FilePath.Windows.isValid path') $ - PackageDistInexcusable $ - "Unfortunately, the file " ++ quote path ++ " is not a valid file " - ++ "name on Windows which would cause portability problems for this " - ++ "package. Windows file names cannot contain any of the characters " - ++ "\":*?<>|\" and there are a few reserved names including \"aux\", " - ++ "\"nul\", \"con\", \"prn\", \"com1-9\", \"lpt1-9\" and \"clock$\"." +checkPackageFileNames = checkPackageFileNamesWithGlob . zip (repeat True) + +checkPackageFileNamesWithGlob :: [(Bool, FilePath)] -> [PackageCheck] +checkPackageFileNamesWithGlob files = + catMaybes $ + checkWindowsPaths files + : + [ checkTarPath file + | (_, file) <- files + ] + +checkWindowsPaths :: [(Bool, FilePath)] -> Maybe PackageCheck +checkWindowsPaths paths = + case filter (not . FilePath.Windows.isValid . escape) paths of + [] -> Nothing + ps -> Just $ + PackageDistInexcusable $ + "The " ++ quotes (map snd ps) ++ " invalid on Windows, which " + ++ "would cause portability problems for this package. Windows file " + ++ "names cannot contain any of the characters \":*?<>|\" and there " + ++ "a few reserved names including \"aux\", \"nul\", \"con\", " + ++ "\"prn\", \"com1-9\", \"lpt1-9\" and \"clock$\"." where - path' = ".\\" ++ path -- force a relative name to catch invalid file names like "f:oo" which -- otherwise parse as file "oo" in the current directory on the 'f' drive. + escape (isGlob, path) = (".\\" ++) + -- glob paths will be expanded before being dereferenced, so asterisks + -- shouldn't count against them. + $ map (\c -> if c == '*' && isGlob then 'x' else c) path + quotes [failed] = + "path " ++ quote failed ++ " is" + quotes failed = + "paths " ++ intercalate ", " (map quote failed) ++ " are" -- | Check a file name is valid for the portable POSIX tar format. -- @@ -2125,6 +2129,35 @@ checkGlobFiles verbosity pkg root = ++ " directory by that name." ] +-- | Check that setup dependencies, have proper bounds. +-- In particular, @base@ and @Cabal@ upper bounds are mandatory. +checkSetupVersions :: GenericPackageDescription -> [PackageCheck] +checkSetupVersions pkg = + [ emitError nameStr + | (name, vr) <- Map.toList deps + , not (hasUpperBound vr) + , let nameStr = unPackageName name + , nameStr `elem` criticalPkgs + ] + where + criticalPkgs = ["Cabal", "base"] + deps = case typicalPkg pkg of + Right (pkgs', _) -> + Map.fromListWith intersectVersionRanges + [ (pname, vr) + | sbi <- maybeToList $ setupBuildInfo pkgs' + , Dependency pname vr _ <- setupDepends sbi + ] + _ -> Map.empty + emitError nm = + PackageDistInexcusable $ + "The dependency 'setup-depends: '"++nm++"' does not specify an " + ++ "upper bound on the version number. Each major release of the " + ++ "'"++nm++"' package changes the API in various ways and most " + ++ "packages will need some changes to compile with it. If you are " + ++ "not sure what upper bound to use then use the next major " + ++ "version." + -- ------------------------------------------------------------ -- * Utils -- ------------------------------------------------------------ @@ -2173,68 +2206,56 @@ fileExtensionSupportedLanguage path = -- -- Lastly, not good file nor directory cases: -- --- >>> traverse_ test ["", "/tmp/src", "foo//bar", "foo/.", "foo/./bar", "foo/../bar", "foo*bar"] +-- >>> traverse_ test ["", "/tmp/src", "foo//bar", "foo/.", "foo/./bar", "foo/../bar"] -- Just "empty path"; Just "empty path" -- Just "posix absolute path"; Just "posix absolute path" -- Just "empty path segment"; Just "empty path segment" -- Just "trailing same directory segment: ."; Just "trailing same directory segment: ." -- Just "same directory segment: ."; Just "same directory segment: ." -- Just "parent directory segment: .."; Just "parent directory segment: .." --- Just "reserved character '*'"; Just "reserved character '*'" -- -- For the last case, 'isGoodRelativeGlob' doesn't warn: -- --- >>> traverse_ (print . isGoodRelativeGlob) ["foo/../bar", "foo*bar"] +-- >>> traverse_ (print . isGoodRelativeGlob) ["foo/../bar"] -- Just "parent directory segment: .." --- Nothing -- isGoodRelativeFilePath :: FilePath -> Maybe String isGoodRelativeFilePath = state0 where - -- Reserved characters - -- https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file - isReserved c = c `elem` "<>:\"\\/|?*" - -- initial state state0 [] = Just "empty path" state0 (c:cs) | c == '.' = state1 cs | c == '/' = Just "posix absolute path" - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state5 cs -- after initial . state1 [] = Just "trailing dot segment" state1 (c:cs) | c == '.' = state4 cs | c == '/' = state2 cs - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state5 cs -- after ./ or after / between segments state2 [] = Just "trailing slash" state2 (c:cs) | c == '.' = state3 cs | c == '/' = Just "empty path segment" - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state5 cs -- after non-first segment's . state3 [] = Just "trailing same directory segment: ." state3 (c:cs) | c == '.' = state4 cs | c == '/' = Just "same directory segment: ." - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state5 cs -- after .. state4 [] = Just "trailing parent directory segment: .." state4 (c:cs) | c == '.' = state5 cs | c == '/' = Just "parent directory segment: .." - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state5 cs -- in a segment which is ok. state5 [] = Nothing state5 (c:cs) | c == '.' = state5 cs | c == '/' = state2 cs - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state5 cs -- | See 'isGoodRelativeFilePath'. @@ -2250,50 +2271,40 @@ isGoodRelativeGlob = isGoodRelativeFilePath . map f where isGoodRelativeDirectoryPath :: FilePath -> Maybe String isGoodRelativeDirectoryPath = state0 where - -- Reserved characters - -- https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file - isReserved c = c `elem` "<>:\"\\/|?*" - -- initial state state0 [] = Just "empty path" state0 (c:cs) | c == '.' = state5 cs | c == '/' = Just "posix absolute path" - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state4 cs -- after initial ./ or after / between segments state1 [] = Nothing state1 (c:cs) | c == '.' = state2 cs | c == '/' = Just "empty path segment" - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state4 cs -- after non-first setgment's . state2 [] = Just "trailing same directory segment: ." state2 (c:cs) | c == '.' = state3 cs | c == '/' = Just "same directory segment: ." - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state4 cs -- after .. state3 [] = Just "trailing parent directory segment: .." state3 (c:cs) | c == '.' = state4 cs | c == '/' = Just "parent directory segment: .." - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state4 cs -- in a segment which is ok. state4 [] = Nothing state4 (c:cs) | c == '.' = state4 cs | c == '/' = state1 cs - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state4 cs -- after initial . state5 [] = Nothing -- "." state5 (c:cs) | c == '.' = state3 cs | c == '/' = state1 cs - | isReserved c = Just ("reserved character " ++ show c) | otherwise = state4 cs -- [Note: Good relative paths] @@ -2305,11 +2316,11 @@ isGoodRelativeDirectoryPath = state0 -- import Kleene -- import Kleene.ERE (ERE (..), intersections) -- --- data C = CDot | CSlash | COtherReserved | CChar +-- data C = CDot | CSlash | CChar -- deriving (Eq, Ord, Enum, Bounded, Show) -- -- reservedR :: ERE C --- reservedR = notChar CSlash /\ notChar COtherReserved +-- reservedR = notChar CSlash -- -- pathPieceR :: ERE C -- pathPieceR = intersections @@ -2336,31 +2347,24 @@ isGoodRelativeDirectoryPath = state0 -- @ -- 0 -> \x -> if -- | x <= CDot -> 1 --- | x <= COtherReserved -> 6 -- | otherwise -> 5 -- 1 -> \x -> if -- | x <= CDot -> 4 -- | x <= CSlash -> 2 --- | x <= COtherReserved -> 6 -- | otherwise -> 5 -- 2 -> \x -> if -- | x <= CDot -> 3 --- | x <= COtherReserved -> 6 -- | otherwise -> 5 -- 3 -> \x -> if -- | x <= CDot -> 4 --- | x <= COtherReserved -> 6 -- | otherwise -> 5 -- 4 -> \x -> if -- | x <= CDot -> 5 --- | x <= COtherReserved -> 6 -- | otherwise -> 5 -- 5+ -> \x -> if -- | x <= CDot -> 5 -- | x <= CSlash -> 2 --- | x <= COtherReserved -> 6 -- | otherwise -> 5 --- 6 -> \_ -> 6 -- black hole -- @ -- -- and @dirPathR@: @@ -2368,29 +2372,40 @@ isGoodRelativeDirectoryPath = state0 -- @ -- 0 -> \x -> if -- | x <= CDot -> 5 --- | x <= COtherReserved -> 6 -- | otherwise -> 4 -- 1+ -> \x -> if -- | x <= CDot -> 2 --- | x <= COtherReserved -> 6 -- | otherwise -> 4 -- 2 -> \x -> if -- | x <= CDot -> 3 --- | x <= COtherReserved -> 6 -- | otherwise -> 4 -- 3 -> \x -> if -- | x <= CDot -> 4 --- | x <= COtherReserved -> 6 -- | otherwise -> 4 -- 4+ -> \x -> if -- | x <= CDot -> 4 -- | x <= CSlash -> 1 --- | x <= COtherReserved -> 6 -- | otherwise -> 4 -- 5+ -> \x -> if -- | x <= CDot -> 3 -- | x <= CSlash -> 1 --- | x <= COtherReserved -> 6 -- | otherwise -> 4 --- 6 -> \_ -> 6 -- black hole -- @ + +-- +-- TODO: What we really want to do is test if there exists any +-- configuration in which the base version is unbounded above. +-- However that's a bit tricky because there are many possible +-- configurations. As a cheap easy and safe approximation we will +-- pick a single "typical" configuration and check if that has an +-- open upper bound. To get a typical configuration we finalise +-- using no package index and the current platform. +typicalPkg :: GenericPackageDescription + -> Either [Dependency] (PackageDescription, FlagAssignment) +typicalPkg = finalizePD + mempty defaultComponentRequestedSpec (const True) + buildPlatform + (unknownCompilerInfo + (CompilerId buildCompilerFlavor nullVersion) + NoAbiTag) + [] diff --git a/Cabal/src/Distribution/PackageDescription/FieldGrammar.hs b/Cabal/src/Distribution/PackageDescription/FieldGrammar.hs index ee0ce41a459a5ff6981db6b10d8b2ca79b1c3604..cf6f0536b041128a5aaa6499d754215e718661df 100644 --- a/Cabal/src/Distribution/PackageDescription/FieldGrammar.hs +++ b/Cabal/src/Distribution/PackageDescription/FieldGrammar.hs @@ -561,12 +561,16 @@ buildInfoFieldGrammar = BuildInfo ^^^ removedIn CabalSpecV3_0 "Please use 'default-extensions' or 'other-extensions' fields." <*> monoidalFieldAla "extra-libraries" (alaList' VCat Token) L.extraLibs + <*> monoidalFieldAla "extra-libraries-static" (alaList' VCat Token) L.extraLibsStatic + ^^^ availableSince CabalSpecV3_8 [] <*> monoidalFieldAla "extra-ghci-libraries" (alaList' VCat Token) L.extraGHCiLibs <*> monoidalFieldAla "extra-bundled-libraries" (alaList' VCat Token) L.extraBundledLibs <*> monoidalFieldAla "extra-library-flavours" (alaList' VCat Token) L.extraLibFlavours <*> monoidalFieldAla "extra-dynamic-library-flavours" (alaList' VCat Token) L.extraDynLibFlavours ^^^ availableSince CabalSpecV3_0 [] <*> monoidalFieldAla "extra-lib-dirs" (alaList' FSep FilePathNT) L.extraLibDirs + <*> monoidalFieldAla "extra-lib-dirs-static" (alaList' FSep FilePathNT) L.extraLibDirsStatic + ^^^ availableSince CabalSpecV3_8 [] <*> monoidalFieldAla "include-dirs" (alaList' FSep FilePathNT) L.includeDirs <*> monoidalFieldAla "includes" (alaList' FSep FilePathNT) L.includes <*> monoidalFieldAla "autogen-includes" (alaList' FSep FilePathNT) L.autogenIncludes diff --git a/Cabal/src/Distribution/ReadE.hs b/Cabal/src/Distribution/ReadE.hs index 863049dea611a63b3975e7c698aad4acc6112d6b..ba278b947c9cd3fdaeddcaee2226c09d5c9999d5 100644 --- a/Cabal/src/Distribution/ReadE.hs +++ b/Cabal/src/Distribution/ReadE.hs @@ -13,7 +13,6 @@ module Distribution.ReadE ( -- * ReadE ReadE(..), succeedReadE, failReadE, -- * Projections - readEOrFail, parsecToReadE, ) where @@ -38,9 +37,6 @@ succeedReadE f = ReadE (Right . f) failReadE :: ErrorMsg -> ReadE a failReadE = ReadE . const . Left -readEOrFail :: ReadE a -> String -> a -readEOrFail r = either error id . runReadE r - parsecToReadE :: (String -> ErrorMsg) -> ParsecParser a -> ReadE a parsecToReadE err p = ReadE $ \txt -> case runParsecParser p "<parsecToReadE>" (fieldLineStreamFromString txt) of diff --git a/Cabal/src/Distribution/Simple.hs b/Cabal/src/Distribution/Simple.hs index 3b6672a3c8b345dc970750cf89a07b16d97df345..fc9153229682f119941a3a67cac372cac2c639ec 100644 --- a/Cabal/src/Distribution/Simple.hs +++ b/Cabal/src/Distribution/Simple.hs @@ -104,6 +104,7 @@ import Distribution.Compat.Directory (makeAbsolute) import Distribution.Compat.Environment (getEnvironment) import Distribution.Compat.GetShortPathName (getShortPathName) +import qualified Data.ByteString.Lazy as B import Data.List (unionBy, (\\)) import Distribution.PackageDescription.Parsec @@ -285,8 +286,8 @@ showBuildInfoAction hooks (ShowBuildInfoFlags flags fileOutput) args = do buildInfoString <- showBuildInfo pkg_descr lbi' flags case fileOutput of - Nothing -> putStr buildInfoString - Just fp -> writeFile fp buildInfoString + Nothing -> B.putStr buildInfoString + Just fp -> B.writeFile fp buildInfoString postBuild hooks args flags' pkg_descr lbi' diff --git a/Cabal/src/Distribution/Simple/Build.hs b/Cabal/src/Distribution/Simple/Build.hs index c5963c733ab3851c2dfcdc124acb04bf6d5c8e7a..5b0842fb9e6f6b8843e0c670a38dc1028e45aa65 100644 --- a/Cabal/src/Distribution/Simple/Build.hs +++ b/Cabal/src/Distribution/Simple/Build.hs @@ -77,7 +77,7 @@ import Distribution.Simple.Configure import Distribution.Simple.Register import Distribution.Simple.Test.LibV09 import Distribution.Simple.Utils -import Distribution.Simple.Utils.Json +import Distribution.Utils.Json import Distribution.System import Distribution.Pretty @@ -87,6 +87,7 @@ import Distribution.Version (thisVersion) import Distribution.Compat.Graph (IsNode(..)) import Control.Monad +import Data.ByteString.Lazy (ByteString) import qualified Data.Set as Set import System.FilePath ( (</>), (<.>), takeDirectory ) import System.Directory ( getCurrentDirectory ) @@ -136,13 +137,13 @@ build pkg_descr lbi flags suffixes = do showBuildInfo :: PackageDescription -- ^ Mostly information from the .cabal file -> LocalBuildInfo -- ^ Configuration information -> BuildFlags -- ^ Flags that the user passed to build - -> IO String + -> IO ByteString showBuildInfo pkg_descr lbi flags = do let verbosity = fromFlag (buildVerbosity flags) targets <- readTargetInfos verbosity pkg_descr lbi (buildArgs flags) let targetsToBuild = neededTargetsInBuildOrder' pkg_descr lbi (map nodeKey targets) doc = mkBuildInfo pkg_descr lbi flags targetsToBuild - return $ renderJson doc "" + return $ renderJson doc repl :: PackageDescription -- ^ Mostly information from the .cabal file @@ -385,7 +386,7 @@ addExtraAsmSources bi extras = bi { asmSources = new } exs = Set.fromList extras -replComponent :: [String] +replComponent :: ReplOptions -> Verbosity -> PackageDescription -> LocalBuildInfo @@ -644,7 +645,7 @@ buildExe verbosity numJobs pkg_descr lbi exe clbi = UHC -> UHC.buildExe verbosity pkg_descr lbi exe clbi _ -> die' verbosity "Building is not supported with this compiler." -replLib :: [String] -> Verbosity -> PackageDescription +replLib :: ReplOptions -> Verbosity -> PackageDescription -> LocalBuildInfo -> Library -> ComponentLocalBuildInfo -> IO () replLib replFlags verbosity pkg_descr lbi lib clbi = @@ -652,19 +653,19 @@ replLib replFlags verbosity pkg_descr lbi lib clbi = -- 'cabal repl' doesn't need to support 'ghc --make -j', so we just pass -- NoFlag as the numJobs parameter. GHC -> GHC.replLib replFlags verbosity NoFlag pkg_descr lbi lib clbi - GHCJS -> GHCJS.replLib replFlags verbosity NoFlag pkg_descr lbi lib clbi + GHCJS -> GHCJS.replLib (replOptionsFlags replFlags) verbosity NoFlag pkg_descr lbi lib clbi _ -> die' verbosity "A REPL is not supported for this compiler." -replExe :: [String] -> Verbosity -> PackageDescription +replExe :: ReplOptions -> Verbosity -> PackageDescription -> LocalBuildInfo -> Executable -> ComponentLocalBuildInfo -> IO () replExe replFlags verbosity pkg_descr lbi exe clbi = case compilerFlavor (compiler lbi) of GHC -> GHC.replExe replFlags verbosity NoFlag pkg_descr lbi exe clbi - GHCJS -> GHCJS.replExe replFlags verbosity NoFlag pkg_descr lbi exe clbi + GHCJS -> GHCJS.replExe (replOptionsFlags replFlags) verbosity NoFlag pkg_descr lbi exe clbi _ -> die' verbosity "A REPL is not supported for this compiler." -replFLib :: [String] -> Verbosity -> PackageDescription +replFLib :: ReplOptions -> Verbosity -> PackageDescription -> LocalBuildInfo -> ForeignLib -> ComponentLocalBuildInfo -> IO () replFLib replFlags verbosity pkg_descr lbi exe clbi = diff --git a/Cabal/src/Distribution/Simple/Command.hs b/Cabal/src/Distribution/Simple/Command.hs index ec7870f2ceb130d093cd27bd4bf7197278aa293d..69e0a1976598966ad1e071c27a4c554523c485ac 100644 --- a/Cabal/src/Distribution/Simple/Command.hs +++ b/Cabal/src/Distribution/Simple/Command.hs @@ -223,16 +223,15 @@ commandGetOpts :: ShowOrParseArgs -> CommandUI flags commandGetOpts showOrParse command = concatMap viewAsGetOpt (commandOptions command showOrParse) -viewAsGetOpt :: OptionField a -> [GetOpt.OptDescr (a->a)] +viewAsGetOpt :: OptionField a -> [GetOpt.OptDescr (a -> a)] viewAsGetOpt (OptionField _n aa) = concatMap optDescrToGetOpt aa where optDescrToGetOpt (ReqArg d (cs,ss) arg_desc set _) = - [GetOpt.Option cs ss (GetOpt.ReqArg set' arg_desc) d] - where set' = readEOrFail set + [GetOpt.Option cs ss (GetOpt.ReqArg (runReadE set) arg_desc) d] optDescrToGetOpt (OptArg d (cs,ss) arg_desc set def _) = [GetOpt.Option cs ss (GetOpt.OptArg set' arg_desc) d] - where set' Nothing = def - set' (Just txt) = readEOrFail set txt + where set' Nothing = Right def + set' (Just txt) = runReadE set txt optDescrToGetOpt (ChoiceOpt alts) = [GetOpt.Option sf lf (GetOpt.NoArg set) d | (d,(sf,lf),set,_) <- alts ] optDescrToGetOpt (BoolOpt d (sfT, lfT) ([], []) set _) = @@ -391,13 +390,8 @@ addCommonFlags :: ShowOrParseArgs -> [GetOpt.OptDescr a] -> [GetOpt.OptDescr (Either CommonFlag a)] addCommonFlags showOrParseArgs options = - map (fmapOptDesc Left) (commonFlags showOrParseArgs) - ++ map (fmapOptDesc Right) options - where fmapOptDesc f (GetOpt.Option s l d m) = - GetOpt.Option s l (fmapArgDesc f d) m - fmapArgDesc f (GetOpt.NoArg a) = GetOpt.NoArg (f a) - fmapArgDesc f (GetOpt.ReqArg s d) = GetOpt.ReqArg (f . s) d - fmapArgDesc f (GetOpt.OptArg s d) = GetOpt.OptArg (f . s) d + map (fmap Left) (commonFlags showOrParseArgs) + ++ map (fmap Right) options -- | Parse a bunch of command line arguments -- diff --git a/Cabal/src/Distribution/Simple/Configure.hs b/Cabal/src/Distribution/Simple/Configure.hs index 869b004ee993038c99a5593528cbeff53c9e493a..cf02b58d9428af05eff6110c4c1eb7f2430096b8 100644 --- a/Cabal/src/Distribution/Simple/Configure.hs +++ b/Cabal/src/Distribution/Simple/Configure.hs @@ -679,6 +679,7 @@ configure (pkg_descr0, pbi) cfg = do withDynExe_ = fromFlag $ configDynExe cfg withFullyStaticExe_ = fromFlag $ configFullyStaticExe cfg + when (withDynExe_ && not withSharedLib_) $ warn verbosity $ "Executables will use dynamic linking, but a shared library " ++ "is not being built. Linking will fail if any executables " @@ -1011,6 +1012,7 @@ configureFinalizedPackage verbosity cfg enabled where addExtraIncludeLibDirs pkg_descr = let extraBi = mempty { extraLibDirs = configExtraLibDirs cfg + , extraLibDirsStatic = configExtraLibDirsStatic cfg , extraFrameworkDirs = configExtraFrameworkDirs cfg , includeDirs = configExtraIncludeDirs cfg} modifyLib l = l{ libBuildInfo = libBuildInfo l @@ -1638,7 +1640,8 @@ configurePkgconfigPackages verbosity pkg_descr progdb enabled let pkgs = nub [ prettyShow pkg | PkgconfigDependency pkg _ <- pkgdeps ] ccflags <- pkgconfig ("--cflags" : pkgs) ldflags <- pkgconfig ("--libs" : pkgs) - return (ccLdOptionsBuildInfo (words ccflags) (words ldflags)) + ldflags_static <- pkgconfig ("--libs" : "--static" : pkgs) + return (ccLdOptionsBuildInfo (words ccflags) (words ldflags) (words ldflags_static)) -- | Makes a 'BuildInfo' from C compiler and linker flags. -- @@ -1648,17 +1651,22 @@ configurePkgconfigPackages verbosity pkg_descr progdb enabled -- -- > ccflags <- getDbProgramOutput verbosity prog progdb ["--cflags"] -- > ldflags <- getDbProgramOutput verbosity prog progdb ["--libs"] --- > return (ccldOptionsBuildInfo (words ccflags) (words ldflags)) +-- > ldflags_static <- getDbProgramOutput verbosity prog progdb ["--libs", "--static"] +-- > return (ccldOptionsBuildInfo (words ccflags) (words ldflags) (words ldflags_static)) -- -ccLdOptionsBuildInfo :: [String] -> [String] -> BuildInfo -ccLdOptionsBuildInfo cflags ldflags = +ccLdOptionsBuildInfo :: [String] -> [String] -> [String] -> BuildInfo +ccLdOptionsBuildInfo cflags ldflags ldflags_static = let (includeDirs', cflags') = partition ("-I" `isPrefixOf`) cflags (extraLibs', ldflags') = partition ("-l" `isPrefixOf`) ldflags (extraLibDirs', ldflags'') = partition ("-L" `isPrefixOf`) ldflags' + (extraLibsStatic') = filter ("-l" `isPrefixOf`) ldflags_static + (extraLibDirsStatic') = filter ("-L" `isPrefixOf`) ldflags_static in mempty { includeDirs = map (drop 2) includeDirs', extraLibs = map (drop 2) extraLibs', extraLibDirs = map (drop 2) extraLibDirs', + extraLibsStatic = map (drop 2) extraLibsStatic', + extraLibDirsStatic = map (drop 2) extraLibDirsStatic', ccOptions = cflags', ldOptions = ldflags'' } @@ -1707,7 +1715,10 @@ checkForeignDeps pkg lbi verbosity = explainErrors missingHdr missingLibs) where allHeaders = collectField includes - allLibs = collectField extraLibs + allLibs = collectField $ + if withFullyStaticExe lbi + then extraLibsStatic + else extraLibs ifBuildsWith headers args success failure = do checkDuplicateHeaders @@ -1810,12 +1821,17 @@ checkForeignDeps pkg lbi verbosity = , opt <- IPI.ccOptions dep ] commonLdArgs = [ "-L" ++ dir - | dir <- ordNub (collectField extraLibDirs) ] + | dir <- ordNub $ collectField (if withFullyStaticExe lbi + then extraLibDirsStatic + else extraLibDirs + ) ] ++ collectField ldOptions ++ [ "-L" ++ dir | dir <- ordNub [ dir | dep <- deps - , dir <- IPI.libraryDirs dep ] + , dir <- if withFullyStaticExe lbi + then IPI.libraryDirsStatic dep + else IPI.libraryDirs dep ] ] --TODO: do we also need dependent packages' ld options? makeLdArgs libs = [ "-l"++lib | lib <- libs ] ++ commonLdArgs diff --git a/Cabal/src/Distribution/Simple/GHC.hs b/Cabal/src/Distribution/Simple/GHC.hs index 070115f2792f950129977607c795c7071add311a..c662bb19b58d9cc083e122afbce06ebc941d5f44 100644 --- a/Cabal/src/Distribution/Simple/GHC.hs +++ b/Cabal/src/Distribution/Simple/GHC.hs @@ -493,13 +493,13 @@ buildLib :: Verbosity -> Cabal.Flag (Maybe Int) -> Library -> ComponentLocalBuildInfo -> IO () buildLib = buildOrReplLib Nothing -replLib :: [String] -> Verbosity +replLib :: ReplOptions -> Verbosity -> Cabal.Flag (Maybe Int) -> PackageDescription -> LocalBuildInfo -> Library -> ComponentLocalBuildInfo -> IO () replLib = buildOrReplLib . Just -buildOrReplLib :: Maybe [String] -> Verbosity +buildOrReplLib :: Maybe ReplOptions -> Verbosity -> Cabal.Flag (Maybe Int) -> PackageDescription -> LocalBuildInfo -> Library -> ComponentLocalBuildInfo -> IO () @@ -593,8 +593,13 @@ buildOrReplLib mReplFlags verbosity numJobs pkg_descr lbi lib clbi = do -- through to GHC's linker. ++ maybe [] programOverrideArgs (lookupProgram ldProgram (withPrograms lbi)), - ghcOptLinkLibs = extraLibs libBi, - ghcOptLinkLibPath = toNubListR $ extraLibDirs libBi, + ghcOptLinkLibs = if withFullyStaticExe lbi + then extraLibsStatic libBi + else extraLibs libBi, + ghcOptLinkLibPath = toNubListR $ + if withFullyStaticExe lbi + then extraLibDirsStatic libBi + else extraLibDirs libBi, ghcOptLinkFrameworks = toNubListR $ PD.frameworks libBi, ghcOptLinkFrameworkDirs = toNubListR $ PD.extraFrameworkDirs libBi, @@ -604,8 +609,9 @@ buildOrReplLib mReplFlags verbosity numJobs pkg_descr lbi lib clbi = do replOpts = vanillaOpts { ghcOptExtra = Internal.filterGhciFlags (ghcOptExtra vanillaOpts) - <> replFlags, - ghcOptNumJobs = mempty + <> replOptionsFlags replFlags, + ghcOptNumJobs = mempty, + ghcOptInputModules = replNoLoad replFlags (ghcOptInputModules vanillaOpts) } `mappend` linkerOpts `mappend` mempty { @@ -964,7 +970,7 @@ buildFLib buildFLib v njobs pkg lbi = gbuild v njobs pkg lbi . GBuildFLib replFLib - :: [String] -> Verbosity + :: ReplOptions -> Verbosity -> Cabal.Flag (Maybe Int) -> PackageDescription -> LocalBuildInfo -> ForeignLib -> ComponentLocalBuildInfo -> IO () @@ -980,7 +986,7 @@ buildExe buildExe v njobs pkg lbi = gbuild v njobs pkg lbi . GBuildExe replExe - :: [String] -> Verbosity + :: ReplOptions -> Verbosity -> Cabal.Flag (Maybe Int) -> PackageDescription -> LocalBuildInfo -> Executable -> ComponentLocalBuildInfo -> IO () @@ -992,9 +998,9 @@ replExe replFlags v njobs pkg lbi = -- 'GBuildMode' distinguishes between the various kinds of operation. data GBuildMode = GBuildExe Executable - | GReplExe [String] Executable + | GReplExe ReplOptions Executable | GBuildFLib ForeignLib - | GReplFLib [String] ForeignLib + | GReplFLib ReplOptions ForeignLib gbuildInfo :: GBuildMode -> BuildInfo gbuildInfo (GBuildExe exe) = buildInfo exe @@ -1260,6 +1266,11 @@ gbuildSources verbosity specVer tmpDir bm = isCxx :: FilePath -> Bool isCxx fp = elem (takeExtension fp) [".cpp", ".cxx", ".c++"] +replNoLoad :: Ord a => ReplOptions -> NubListR a -> NubListR a +replNoLoad replFlags l + | replOptionsNoLoad replFlags == Flag True = mempty + | otherwise = l + -- | Generic build function. See comment for 'GBuildMode'. gbuild :: Verbosity -> Cabal.Flag (Maybe Int) -> PackageDescription -> LocalBuildInfo @@ -1356,8 +1367,13 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do -- through to GHC's linker. ++ maybe [] programOverrideArgs (lookupProgram ldProgram (withPrograms lbi)), - ghcOptLinkLibs = extraLibs bnfo, - ghcOptLinkLibPath = toNubListR $ extraLibDirs bnfo, + ghcOptLinkLibs = if withFullyStaticExe lbi + then extraLibsStatic bnfo + else extraLibs bnfo, + ghcOptLinkLibPath = toNubListR $ + if withFullyStaticExe lbi + then extraLibDirsStatic bnfo + else extraLibDirs bnfo, ghcOptLinkFrameworks = toNubListR $ PD.frameworks bnfo, ghcOptLinkFrameworkDirs = toNubListR $ @@ -1373,7 +1389,9 @@ gbuild verbosity numJobs pkg_descr lbi bm clbi = do replOpts = baseOpts { ghcOptExtra = Internal.filterGhciFlags (ghcOptExtra baseOpts) - <> replFlags + <> replOptionsFlags replFlags, + ghcOptInputModules = replNoLoad replFlags (ghcOptInputModules baseOpts), + ghcOptInputFiles = replNoLoad replFlags (ghcOptInputFiles baseOpts) } -- For a normal compile we do separate invocations of ghc for -- compiling as for linking. But for repl we have to do just diff --git a/Cabal/src/Distribution/Simple/GHC/Internal.hs b/Cabal/src/Distribution/Simple/GHC/Internal.hs index 8ff5f24091bec9f7451408dab5e8a194fab7304a..d81a5a5295b8e26e3d6c3f7b62499c0aefc1de0b 100644 --- a/Cabal/src/Distribution/Simple/GHC/Internal.hs +++ b/Cabal/src/Distribution/Simple/GHC/Internal.hs @@ -536,6 +536,7 @@ substTopDir topDir ipo = ipo { IPI.importDirs = map f (IPI.importDirs ipo), IPI.libraryDirs = map f (IPI.libraryDirs ipo), + IPI.libraryDirsStatic = map f (IPI.libraryDirsStatic ipo), IPI.includeDirs = map f (IPI.includeDirs ipo), IPI.frameworkDirs = map f (IPI.frameworkDirs ipo), IPI.haddockInterfaces = map f (IPI.haddockInterfaces ipo), diff --git a/Cabal/src/Distribution/Simple/PreProcess.hs b/Cabal/src/Distribution/Simple/PreProcess.hs index be360263b1aeb2b17acf31a3da3f32425b59937e..e780aa835f788f333456b611e6af0494ad2fcf85 100644 --- a/Cabal/src/Distribution/Simple/PreProcess.hs +++ b/Cabal/src/Distribution/Simple/PreProcess.hs @@ -468,9 +468,19 @@ ppHsc2hs bi lbi clbi = [ "-I" ++ autogenComponentModulesDir lbi clbi, "-I" ++ autogenPackageModulesDir lbi, "-include", autogenComponentModulesDir lbi clbi </> cppHeaderName ] ] - ++ [ "--lflag=-L" ++ opt | opt <- PD.extraLibDirs bi ] - ++ [ "--lflag=-Wl,-R," ++ opt | isELF - , opt <- PD.extraLibDirs bi ] + ++ [ "--lflag=-L" ++ opt + | opt <- + if withFullyStaticExe lbi + then PD.extraLibDirsStatic bi + else PD.extraLibDirs bi + ] + ++ [ "--lflag=-Wl,-R," ++ opt + | isELF + , opt <- + if withFullyStaticExe lbi + then PD.extraLibDirsStatic bi + else PD.extraLibDirs bi + ] ++ [ "--lflag=-l" ++ opt | opt <- PD.extraLibs bi ] ++ [ "--lflag=" ++ opt | opt <- PD.ldOptions bi ] @@ -484,7 +494,12 @@ ppHsc2hs bi lbi clbi = , opt <- [ "-L" ++ opt | opt <- Installed.libraryDirs pkg ] ++ [ "-Wl,-R," ++ opt | isELF , opt <- Installed.libraryDirs pkg ] - ++ [ "-l" ++ opt | opt <- Installed.extraLibraries pkg ] + ++ [ "-l" ++ opt + | opt <- + if withFullyStaticExe lbi + then Installed.extraLibrariesStatic pkg + else Installed.extraLibraries pkg + ] ++ [ opt | opt <- Installed.ldOptions pkg ] ] ++ preccldFlags ++ hsc2hsOptions bi diff --git a/Cabal/src/Distribution/Simple/Program/HcPkg.hs b/Cabal/src/Distribution/Simple/Program/HcPkg.hs index 3f254c6c335e385c14be44971de5b2afc817ce3d..1a3e3258e8fa3385bb337107d59ddce778283e1b 100644 --- a/Cabal/src/Distribution/Simple/Program/HcPkg.hs +++ b/Cabal/src/Distribution/Simple/Program/HcPkg.hs @@ -314,6 +314,7 @@ mungePackagePaths pkgroot pkginfo = importDirs = mungePaths (importDirs pkginfo), includeDirs = mungePaths (includeDirs pkginfo), libraryDirs = mungePaths (libraryDirs pkginfo), + libraryDirsStatic = mungePaths (libraryDirsStatic pkginfo), libraryDynDirs = mungePaths (libraryDynDirs pkginfo), frameworkDirs = mungePaths (frameworkDirs pkginfo), haddockInterfaces = mungePaths (haddockInterfaces pkginfo), diff --git a/Cabal/src/Distribution/Simple/Program/Script.hs b/Cabal/src/Distribution/Simple/Program/Script.hs index c9c45d5b7c3aafa20935a9aac77f8cb564173f8c..2b83f9796d4a2c70b218372751b4b20d033f101a 100644 --- a/Cabal/src/Distribution/Simple/Program/Script.hs +++ b/Cabal/src/Distribution/Simple/Program/Script.hs @@ -48,7 +48,7 @@ invocationAsShellScript ++ [ "cd " ++ quote cwd | cwd <- maybeToList mcwd ] ++ [ (case minput of Nothing -> "" - Just input -> "echo " ++ quote (iodataToText input) ++ " | ") + Just input -> "printf '%s' " ++ quote (iodataToText input) ++ " | ") ++ unwords (map quote $ path : args) ++ " \"$@\""] where diff --git a/Cabal/src/Distribution/Simple/Register.hs b/Cabal/src/Distribution/Simple/Register.hs index 980884ad2e46f8c12280d6a6d73e0df34f12de18..4a8faaeeeb3523315ac390882fb7a13d384fc05e 100644 --- a/Cabal/src/Distribution/Simple/Register.hs +++ b/Cabal/src/Distribution/Simple/Register.hs @@ -425,12 +425,14 @@ generalInstalledPackageInfo adjustRelIncDirs pkg abi_hash lib lbi clbi installDi IPI.trusted = IPI.trusted IPI.emptyInstalledPackageInfo, IPI.importDirs = [ libdir installDirs | hasModules ], IPI.libraryDirs = libdirs, + IPI.libraryDirsStatic = libdirsStatic, IPI.libraryDynDirs = dynlibdirs, IPI.dataDir = datadir installDirs, IPI.hsLibraries = (if hasLibrary then [getHSLibraryName (componentUnitId clbi)] else []) ++ extraBundledLibs bi, IPI.extraLibraries = extraLibs bi, + IPI.extraLibrariesStatic = extraLibsStatic bi, IPI.extraGHCiLibraries = extraGHCiLibs bi, IPI.includeDirs = absinc ++ adjustRelIncDirs relinc, IPI.includes = includes bi, @@ -467,6 +469,16 @@ generalInstalledPackageInfo adjustRelIncDirs pkg abi_hash lib lbi clbi installDi || (not (null (jsSources bi)) && compilerFlavor comp == GHCJS)) && not (componentIsIndefinite clbi) + libdirsStatic + | hasLibrary = libdir installDirs : extraLibDirsStaticOrFallback + | otherwise = extraLibDirsStaticOrFallback + where + -- If no static library dirs were given, the package likely makes no + -- distinction between fully static linking and otherwise. + -- Fall back to the normal library dirs in that case. + extraLibDirsStaticOrFallback = case extraLibDirsStatic bi of + [] -> extraLibDirs bi + dirs -> dirs (libdirs, dynlibdirs) | not hasLibrary = (extraLibDirs bi, []) diff --git a/Cabal/src/Distribution/Simple/Setup.hs b/Cabal/src/Distribution/Simple/Setup.hs index 92c4a842697966993af440151d0e7dd9ea4c209a..195ef3e1eb70bc218a1a3b18972db4af1bbf3194 100644 --- a/Cabal/src/Distribution/Simple/Setup.hs +++ b/Cabal/src/Distribution/Simple/Setup.hs @@ -47,6 +47,7 @@ module Distribution.Simple.Setup ( BuildFlags(..), emptyBuildFlags, defaultBuildFlags, buildCommand, ShowBuildInfoFlags(..), defaultShowBuildFlags, showBuildInfoCommand, ReplFlags(..), defaultReplFlags, replCommand, + ReplOptions(..), CleanFlags(..), emptyCleanFlags, defaultCleanFlags, cleanCommand, RegisterFlags(..), emptyRegisterFlags, defaultRegisterFlags, registerCommand, unregisterCommand, @@ -231,6 +232,9 @@ data ConfigFlags = ConfigFlags { -- paths configScratchDir :: Flag FilePath, configExtraLibDirs :: [FilePath], -- ^ path to search for extra libraries + configExtraLibDirsStatic :: [FilePath], -- ^ path to search for extra + -- libraries when linking + -- fully static executables configExtraFrameworkDirs :: [FilePath], -- ^ path to search for extra -- frameworks (OS X only) configExtraIncludeDirs :: [FilePath], -- ^ path to search for header files @@ -315,6 +319,7 @@ instance Eq ConfigFlags where && equal configInstallDirs && equal configScratchDir && equal configExtraLibDirs + && equal configExtraLibDirsStatic && equal configExtraIncludeDirs && equal configIPID && equal configDeterministic @@ -633,6 +638,11 @@ configureOptions showOrParseArgs = configExtraLibDirs (\v flags -> flags {configExtraLibDirs = v}) (reqArg' "PATH" (\x -> [x]) id) + ,option "" ["extra-lib-dirs-static"] + "A list of directories to search for external libraries when linking fully static executables" + configExtraLibDirsStatic (\v flags -> flags {configExtraLibDirsStatic = v}) + (reqArg' "PATH" (\x -> [x]) id) + ,option "" ["extra-framework-dirs"] "A list of directories to search for external frameworks (OS X only)" configExtraFrameworkDirs @@ -1656,13 +1666,30 @@ instance Semigroup BuildFlags where -- * REPL Flags -- ------------------------------------------------------------ +data ReplOptions = ReplOptions { + replOptionsFlags :: [String], + replOptionsNoLoad :: Flag Bool + } + deriving (Show, Generic, Typeable) + +instance Binary ReplOptions +instance Structured ReplOptions + + +instance Monoid ReplOptions where + mempty = ReplOptions mempty (Flag False) + mappend = (<>) + +instance Semigroup ReplOptions where + (<>) = gmappend + data ReplFlags = ReplFlags { replProgramPaths :: [(String, FilePath)], replProgramArgs :: [(String, [String])], replDistPref :: Flag FilePath, replVerbosity :: Flag Verbosity, replReload :: Flag Bool, - replReplOptions :: [String] + replReplOptions :: ReplOptions } deriving (Show, Generic, Typeable) @@ -1673,7 +1700,7 @@ defaultReplFlags = ReplFlags { replDistPref = NoFlag, replVerbosity = Flag normal, replReload = Flag False, - replReplOptions = [] + replReplOptions = mempty } instance Monoid ReplFlags where @@ -1754,9 +1781,17 @@ replCommand progDb = CommandUI where liftReplOption = liftOption replReplOptions (\v flags -> flags { replReplOptions = v }) -replOptions :: ShowOrParseArgs -> [OptionField [String]] -replOptions _ = [ option [] ["repl-options"] "use this option for the repl" id - const (reqArg "FLAG" (succeedReadE (:[])) id) ] +replOptions :: ShowOrParseArgs -> [OptionField ReplOptions] +replOptions _ = + [ option [] ["repl-no-load"] + "Disable loading of project modules at REPL startup." + replOptionsNoLoad (\p flags -> flags { replOptionsNoLoad = p }) + trueArg + , option [] ["repl-options"] + "use this option for the repl" + replOptionsFlags (\p flags -> flags { replOptionsFlags = p ++ replOptionsFlags flags }) + (reqArg "FLAG" (succeedReadE (:[])) id) + ] -- ------------------------------------------------------------ -- * Test flags @@ -1822,16 +1857,8 @@ testCommand = CommandUI { commandName = "test" , commandSynopsis = "Run all/specific tests in the test suite." - , commandDescription = Just $ \pname -> wrapText $ - "If necessary (re)configures with `--enable-tests` flag and builds" - ++ " the test suite.\n" - ++ "\n" - ++ "Remember that the tests' dependencies must be installed if there" - ++ " are additional ones; e.g. with `" ++ pname - ++ " install --only-dependencies --enable-tests`.\n" - ++ "\n" - ++ "By defining UserHooks in a custom Setup.hs, the package can" - ++ " define actions to be executed before and after running tests.\n" + , commandDescription = Just $ \ _pname -> wrapText $ + testOrBenchmarkHelpText "test" , commandNotes = Nothing , commandUsage = usageAlternatives "test" [ "[FLAGS]" @@ -1841,6 +1868,24 @@ testCommand = CommandUI , commandOptions = testOptions' } +-- | Help text for @test@ and @bench@ commands. +testOrBenchmarkHelpText + :: String -- ^ Either @"test"@ or @"benchmark"@. + -> String -- ^ Help text. +testOrBenchmarkHelpText s = unlines $ map unwords + [ [ "The package must have been build with configuration" + , concat [ "flag `--enable-", s, "s`." ] + ] + , [] -- blank line + , [ concat [ "Note that additional dependencies of the ", s, "s" ] + , "must have already been installed." + ] + , [] + , [ "By defining UserHooks in a custom Setup.hs, the package can define" + , concat [ "actions to be executed before and after running ", s, "s." ] + ] + ] + testOptions' :: ShowOrParseArgs -> [OptionField TestFlags] testOptions' showOrParseArgs = [ optionVerbosity testVerbosity (\v flags -> flags { testVerbosity = v }) @@ -1936,17 +1981,8 @@ benchmarkCommand = CommandUI { commandName = "bench" , commandSynopsis = "Run all/specific benchmarks." - , commandDescription = Just $ \pname -> wrapText $ - "If necessary (re)configures with `--enable-benchmarks` flag and" - ++ " builds the benchmarks.\n" - ++ "\n" - ++ "Remember that the benchmarks' dependencies must be installed if" - ++ " there are additional ones; e.g. with `" ++ pname - ++ " install --only-dependencies --enable-benchmarks`.\n" - ++ "\n" - ++ "By defining UserHooks in a custom Setup.hs, the package can" - ++ " define actions to be executed before and after running" - ++ " benchmarks.\n" + , commandDescription = Just $ \ _pname -> wrapText $ + testOrBenchmarkHelpText "benchmark" , commandNotes = Nothing , commandUsage = usageAlternatives "bench" [ "[FLAGS]" diff --git a/Cabal/src/Distribution/Simple/ShowBuildInfo.hs b/Cabal/src/Distribution/Simple/ShowBuildInfo.hs index 631685b1d57bd573349539779239e3f4782ea813..5dfe8e3a10775191ba8ce9822041c390033f44b3 100644 --- a/Cabal/src/Distribution/Simple/ShowBuildInfo.hs +++ b/Cabal/src/Distribution/Simple/ShowBuildInfo.hs @@ -70,7 +70,7 @@ import Distribution.Simple.LocalBuildInfo import Distribution.Simple.Program import Distribution.Simple.Setup import Distribution.Simple.Utils (cabalVersion) -import Distribution.Simple.Utils.Json +import Distribution.Utils.Json import Distribution.Types.TargetInfo import Distribution.Text import Distribution.Pretty @@ -89,8 +89,6 @@ mkBuildInfo pkg_descr lbi _flags targetsToBuild = info targetToNameAndLBI target = (componentLocalName $ targetCLBI target, targetCLBI target) componentsToBuild = map targetToNameAndLBI targetsToBuild - (.=) :: String -> Json -> (String, Json) - k .= v = (k, v) info = JsonObject [ "cabal-version" .= JsonString (display cabalVersion) diff --git a/Cabal/src/Distribution/Simple/Utils.hs b/Cabal/src/Distribution/Simple/Utils.hs index 26c727b4657a1fa297168312d9f38ad70b0e872e..54c1b4c4408adcfad6f1943499af4a1c8ac1197c 100644 --- a/Cabal/src/Distribution/Simple/Utils.hs +++ b/Cabal/src/Distribution/Simple/Utils.hs @@ -442,7 +442,7 @@ verbosityHandle verbosity -- warn :: Verbosity -> String -> IO () warn verbosity msg = withFrozenCallStack $ do - when (verbosity >= normal) $ do + when ((verbosity >= normal) && not (isVerboseNoWarn verbosity)) $ do ts <- getPOSIXTime hFlush stdout hPutStr stderr . withMetadata ts NormalMark FlagTrace verbosity diff --git a/Cabal/src/Distribution/Simple/Utils/Json.hs b/Cabal/src/Distribution/Simple/Utils/Json.hs deleted file mode 100644 index f90f2f38aa2c4b6cf569b832baf5f121b05d529c..0000000000000000000000000000000000000000 --- a/Cabal/src/Distribution/Simple/Utils/Json.hs +++ /dev/null @@ -1,46 +0,0 @@ --- | Utility json lib for Cabal --- TODO: Remove it again. -module Distribution.Simple.Utils.Json - ( Json(..) - , renderJson - ) where - -data Json = JsonArray [Json] - | JsonBool !Bool - | JsonNull - | JsonNumber !Int - | JsonObject [(String, Json)] - | JsonString !String - -renderJson :: Json -> ShowS -renderJson (JsonArray objs) = - surround "[" "]" $ intercalate "," $ map renderJson objs -renderJson (JsonBool True) = showString "true" -renderJson (JsonBool False) = showString "false" -renderJson JsonNull = showString "null" -renderJson (JsonNumber n) = shows n -renderJson (JsonObject attrs) = - surround "{" "}" $ intercalate "," $ map render attrs - where - render (k,v) = (surround "\"" "\"" $ showString' k) . showString ":" . renderJson v -renderJson (JsonString s) = surround "\"" "\"" $ showString' s - -surround :: String -> String -> ShowS -> ShowS -surround begin end middle = showString begin . middle . showString end - -showString' :: String -> ShowS -showString' xs = showStringWorker xs - where - showStringWorker :: String -> ShowS - showStringWorker ('\"':as) = showString "\\\"" . showStringWorker as - showStringWorker ('\\':as) = showString "\\\\" . showStringWorker as - showStringWorker ('\'':as) = showString "\\\'" . showStringWorker as - showStringWorker (x:as) = showString [x] . showStringWorker as - showStringWorker [] = showString "" - -intercalate :: String -> [ShowS] -> ShowS -intercalate sep = go - where - go [] = id - go [x] = x - go (x:xs) = x . showString' sep . go xs diff --git a/Cabal/src/Distribution/Types/BuildInfo.hs b/Cabal/src/Distribution/Types/BuildInfo.hs index 4975b178cbb21cd44982a9df3de8d63a9290d6bb..979dce35db665617bc842563e398b3215dd8f954 100644 --- a/Cabal/src/Distribution/Types/BuildInfo.hs +++ b/Cabal/src/Distribution/Types/BuildInfo.hs @@ -78,6 +78,7 @@ data BuildInfo = BuildInfo { oldExtensions :: [Extension], -- ^ the old extensions field, treated same as 'defaultExtensions' extraLibs :: [String], -- ^ what libraries to link with when compiling a program that uses your package + extraLibsStatic :: [String], -- ^ what libraries to link with when compiling a program fully statically that uses your package extraGHCiLibs :: [String], -- ^ if present, overrides extraLibs when package is loaded with GHCi. extraBundledLibs :: [String], -- ^ if present, adds libs to hs-libraries, which become part of the package. -- Example: the Cffi library shipping with the rts, alognside the HSrts-1.0.a,.o,... @@ -94,6 +95,7 @@ data BuildInfo = BuildInfo { -- libraries when copying. This is particularly useful with the `rts` package, -- where we want different dynamic flavours of the RTS library to be installed. extraLibDirs :: [String], + extraLibDirsStatic :: [String], includeDirs :: [FilePath], -- ^directories to find .h files includes :: [FilePath], -- ^ The .h files to be found in includeDirs autogenIncludes :: [FilePath], -- ^ The .h files to be generated (e.g. by @autoconf@) @@ -144,11 +146,13 @@ instance Monoid BuildInfo where otherExtensions = [], oldExtensions = [], extraLibs = [], + extraLibsStatic = [], extraGHCiLibs = [], extraBundledLibs = [], extraLibFlavours = [], extraDynLibFlavours = [], extraLibDirs = [], + extraLibDirsStatic = [], includeDirs = [], includes = [], autogenIncludes = [], @@ -193,11 +197,13 @@ instance Semigroup BuildInfo where otherExtensions = combineNub otherExtensions, oldExtensions = combineNub oldExtensions, extraLibs = combine extraLibs, + extraLibsStatic = combine extraLibsStatic, extraGHCiLibs = combine extraGHCiLibs, extraBundledLibs = combine extraBundledLibs, extraLibFlavours = combine extraLibFlavours, extraDynLibFlavours = combine extraDynLibFlavours, extraLibDirs = combineNub extraLibDirs, + extraLibDirsStatic = combineNub extraLibDirsStatic, includeDirs = combineNub includeDirs, includes = combineNub includes, autogenIncludes = combineNub autogenIncludes, diff --git a/Cabal/src/Distribution/Types/BuildInfo/Lens.hs b/Cabal/src/Distribution/Types/BuildInfo/Lens.hs index 074e9ba54d303b60eeb2b89609458a4e62a548da..b3d558a9412302b5060c082064b8540d996ab0cd 100644 --- a/Cabal/src/Distribution/Types/BuildInfo/Lens.hs +++ b/Cabal/src/Distribution/Types/BuildInfo/Lens.hs @@ -137,6 +137,10 @@ class HasBuildInfo a where extraLibs = buildInfo . extraLibs {-# INLINE extraLibs #-} + extraLibsStatic :: Lens' a [String] + extraLibsStatic = buildInfo . extraLibsStatic + {-# INLINE extraLibsStatic #-} + extraGHCiLibs :: Lens' a [String] extraGHCiLibs = buildInfo . extraGHCiLibs {-# INLINE extraGHCiLibs #-} @@ -157,6 +161,10 @@ class HasBuildInfo a where extraLibDirs = buildInfo . extraLibDirs {-# INLINE extraLibDirs #-} + extraLibDirsStatic :: Lens' a [String] + extraLibDirsStatic = buildInfo . extraLibDirsStatic + {-# INLINE extraLibDirsStatic #-} + includeDirs :: Lens' a [FilePath] includeDirs = buildInfo . includeDirs {-# INLINE includeDirs #-} @@ -290,6 +298,9 @@ instance HasBuildInfo BuildInfo where extraLibs f s = fmap (\x -> s { T.extraLibs = x }) (f (T.extraLibs s)) {-# INLINE extraLibs #-} + extraLibsStatic f s = fmap (\x -> s { T.extraLibsStatic = x}) (f (T.extraLibsStatic s)) + {-# INLINE extraLibsStatic #-} + extraGHCiLibs f s = fmap (\x -> s { T.extraGHCiLibs = x }) (f (T.extraGHCiLibs s)) {-# INLINE extraGHCiLibs #-} @@ -305,6 +316,9 @@ instance HasBuildInfo BuildInfo where extraLibDirs f s = fmap (\x -> s { T.extraLibDirs = x }) (f (T.extraLibDirs s)) {-# INLINE extraLibDirs #-} + extraLibDirsStatic f s = fmap (\x -> s { T.extraLibDirsStatic = x}) (f (T.extraLibDirsStatic s)) + {-# INLINE extraLibDirsStatic #-} + includeDirs f s = fmap (\x -> s { T.includeDirs = x }) (f (T.includeDirs s)) {-# INLINE includeDirs #-} diff --git a/Cabal/src/Distribution/Types/InstalledPackageInfo.hs b/Cabal/src/Distribution/Types/InstalledPackageInfo.hs index f34da35c34560b90317a773f24e373a658c57369..0d047db5590655e569b70981558fa79f78f8076a 100644 --- a/Cabal/src/Distribution/Types/InstalledPackageInfo.hs +++ b/Cabal/src/Distribution/Types/InstalledPackageInfo.hs @@ -72,10 +72,12 @@ data InstalledPackageInfo trusted :: Bool, importDirs :: [FilePath], libraryDirs :: [FilePath], + libraryDirsStatic :: [FilePath], libraryDynDirs :: [FilePath], -- ^ overrides 'libraryDirs' dataDir :: FilePath, hsLibraries :: [String], extraLibraries :: [String], + extraLibrariesStatic :: [String], extraGHCiLibraries:: [String], -- overrides extraLibraries for GHCi includeDirs :: [FilePath], includes :: [String], @@ -152,10 +154,12 @@ emptyInstalledPackageInfo trusted = False, importDirs = [], libraryDirs = [], + libraryDirsStatic = [], libraryDynDirs = [], dataDir = "", hsLibraries = [], extraLibraries = [], + extraLibrariesStatic = [], extraGHCiLibraries= [], includeDirs = [], includes = [], diff --git a/Cabal/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs b/Cabal/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs index cf79e45f40ad94a149c2c652ba7e9a33a333698e..f176ea0118705d08cd40b7c54187336147c62e10 100644 --- a/Cabal/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs +++ b/Cabal/src/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs @@ -102,10 +102,12 @@ ipiFieldGrammar = mkInstalledPackageInfo <@> booleanFieldDef "trusted" L.trusted False <@> monoidalFieldAla "import-dirs" (alaList' FSep FilePathNT) L.importDirs <@> monoidalFieldAla "library-dirs" (alaList' FSep FilePathNT) L.libraryDirs + <@> monoidalFieldAla "library-dirs-static" (alaList' FSep FilePathNT) L.libraryDirsStatic <@> monoidalFieldAla "dynamic-library-dirs" (alaList' FSep FilePathNT) L.libraryDynDirs <@> optionalFieldDefAla "data-dir" FilePathNT L.dataDir "" <@> monoidalFieldAla "hs-libraries" (alaList' FSep Token) L.hsLibraries <@> monoidalFieldAla "extra-libraries" (alaList' FSep Token) L.extraLibraries + <@> monoidalFieldAla "extra-libraries-static" (alaList' FSep Token) L.extraLibrariesStatic <@> monoidalFieldAla "extra-ghci-libraries" (alaList' FSep Token) L.extraGHCiLibraries <@> monoidalFieldAla "include-dirs" (alaList' FSep FilePathNT) L.includeDirs <@> monoidalFieldAla "includes" (alaList' FSep FilePathNT) L.includes diff --git a/Cabal/src/Distribution/Types/InstalledPackageInfo/Lens.hs b/Cabal/src/Distribution/Types/InstalledPackageInfo/Lens.hs index 75985c8ee1eb933d6be55a872f5e8b9ec1cd838b..9d1df886370a3364490d51a71d529895b583a882 100644 --- a/Cabal/src/Distribution/Types/InstalledPackageInfo/Lens.hs +++ b/Cabal/src/Distribution/Types/InstalledPackageInfo/Lens.hs @@ -116,6 +116,10 @@ libraryDirs :: Lens' InstalledPackageInfo [FilePath] libraryDirs f s = fmap (\x -> s { T.libraryDirs = x }) (f (T.libraryDirs s)) {-# INLINE libraryDirs #-} +libraryDirsStatic :: Lens' InstalledPackageInfo [FilePath] +libraryDirsStatic f s = fmap (\x -> s { T.libraryDirsStatic = x }) (f (T.libraryDirsStatic s)) +{-# INLINE libraryDirsStatic #-} + libraryDynDirs :: Lens' InstalledPackageInfo [FilePath] libraryDynDirs f s = fmap (\x -> s { T.libraryDynDirs = x }) (f (T.libraryDynDirs s)) {-# INLINE libraryDynDirs #-} @@ -132,6 +136,10 @@ extraLibraries :: Lens' InstalledPackageInfo [String] extraLibraries f s = fmap (\x -> s { T.extraLibraries = x }) (f (T.extraLibraries s)) {-# INLINE extraLibraries #-} +extraLibrariesStatic :: Lens' InstalledPackageInfo [String] +extraLibrariesStatic f s = fmap (\x -> s { T.extraLibrariesStatic = x }) (f (T.extraLibrariesStatic s)) +{-# INLINE extraLibrariesStatic #-} + extraGHCiLibraries :: Lens' InstalledPackageInfo [String] extraGHCiLibraries f s = fmap (\x -> s { T.extraGHCiLibraries = x }) (f (T.extraGHCiLibraries s)) {-# INLINE extraGHCiLibraries #-} diff --git a/Cabal/src/Distribution/Utils/Json.hs b/Cabal/src/Distribution/Utils/Json.hs new file mode 100644 index 0000000000000000000000000000000000000000..cef32f04d6d50864dbd7b0df5bfc75fd92b95a4c --- /dev/null +++ b/Cabal/src/Distribution/Utils/Json.hs @@ -0,0 +1,58 @@ +{-# LANGUAGE RankNTypes #-} +{-# LANGUAGE OverloadedStrings #-} +-- | Extremely simple JSON helper. Don't do anything too fancy with this! + +module Distribution.Utils.Json + ( Json(..) + , (.=) + , renderJson + ) where + +import Distribution.Compat.Prelude +import qualified Data.ByteString.Lazy as LBS +import Data.ByteString.Builder + ( Builder, stringUtf8, intDec, toLazyByteString ) + +data Json = JsonArray [Json] + | JsonBool !Bool + | JsonNull + | JsonNumber !Int -- No support for Floats, Doubles just yet + | JsonObject [(String, Json)] + | JsonString !String + deriving Show + +-- | Convert a 'Json' into a 'ByteString' +renderJson :: Json -> LBS.ByteString +renderJson json = toLazyByteString (go json) + where + go (JsonArray objs) = + surround "[" "]" $ mconcat $ intersperse "," $ map go objs + go (JsonBool True) = stringUtf8 "true" + go (JsonBool False) = stringUtf8 "false" + go JsonNull = stringUtf8 "null" + go (JsonNumber n) = intDec n + go (JsonObject attrs) = + surround "{" "}" $ mconcat $ intersperse "," $ map render attrs + where + render (k,v) = (surround "\"" "\"" $ stringUtf8 (escape k)) <> ":" <> go v + go (JsonString s) = surround "\"" "\"" $ stringUtf8 (escape s) + +surround :: Builder -> Builder -> Builder -> Builder +surround begin end middle = mconcat [ begin , middle , end] + +escape :: String -> String +escape ('\"':xs) = "\\\"" <> escape xs +escape ('\\':xs) = "\\\\" <> escape xs +escape ('\b':xs) = "\\b" <> escape xs +escape ('\f':xs) = "\\f" <> escape xs +escape ('\n':xs) = "\\n" <> escape xs +escape ('\r':xs) = "\\r" <> escape xs +escape ('\t':xs) = "\\t" <> escape xs +escape (x:xs) = x : escape xs +escape [] = mempty + +-- | A shorthand for building up 'JsonObject's +-- >>> JsonObject [ "a" .= JsonNumber 42, "b" .= JsonBool True ] +-- JsonObject [("a",JsonNumber 42),("b",JsonBool True)] +(.=) :: String -> Json -> (String, Json) +k .= v = (k, v) diff --git a/Cabal/src/Distribution/Utils/Path.hs b/Cabal/src/Distribution/Utils/Path.hs index 7197e0baa13edf743959bf6a5f312d62fcde7a6b..eb3d11deb962bd4edb0b2bd3e116bacdbbf28803 100644 --- a/Cabal/src/Distribution/Utils/Path.hs +++ b/Cabal/src/Distribution/Utils/Path.hs @@ -35,7 +35,7 @@ import qualified Distribution.Compat.CharParsing as P -- until we interpret them. -- newtype SymbolicPath from to = SymbolicPath FilePath - deriving (Generic, Show, Read, Eq, Typeable, Data) + deriving (Generic, Show, Read, Eq, Ord, Typeable, Data) instance Binary (SymbolicPath from to) instance (Typeable from, Typeable to) => Structured (SymbolicPath from to) diff --git a/Cabal/src/Distribution/Verbosity.hs b/Cabal/src/Distribution/Verbosity.hs index 23ffaba1389a6568e3690cf222a9cecd9e80fd71..d73cbd8031dd7fb5932a3fac6f72f25361a57d5b 100644 --- a/Cabal/src/Distribution/Verbosity.hs +++ b/Cabal/src/Distribution/Verbosity.hs @@ -52,6 +52,9 @@ module Distribution.Verbosity ( -- * Stderr verboseStderr, isVerboseStderr, verboseNoStderr, + + -- * No warnings + verboseNoWarn, isVerboseNoWarn ) where import Prelude () @@ -213,6 +216,7 @@ parsecVerbosity = parseIntVerbosity <|> parseStringVerbosity "timestamp" -> return verboseTimestamp "stderr" -> return verboseStderr "stdout" -> return verboseNoStderr + "nowarn" -> return verboseNoWarn _ -> P.unexpected $ "Bad verbosity flag: " ++ token flagToVerbosity :: ReadE Verbosity @@ -239,6 +243,7 @@ showForCabal v showFlag VMarkOutput = ["+markoutput"] showFlag VTimestamp = ["+timestamp"] showFlag VStderr = ["+stderr"] + showFlag VNoWarn = ["+nowarn"] showForGHC :: Verbosity -> String showForGHC v = maybe (error "unknown verbosity") show $ @@ -290,6 +295,10 @@ verboseStderr = verboseFlag VStderr verboseNoStderr :: Verbosity -> Verbosity verboseNoStderr = verboseNoFlag VStderr +-- | Turn off warnings for log messages +verboseNoWarn :: Verbosity -> Verbosity +verboseNoWarn = verboseFlag VNoWarn + -- | Helper function for flag enabling functions verboseFlag :: VerbosityFlag -> (Verbosity -> Verbosity) verboseFlag flag v = v { vFlags = Set.insert flag (vFlags v) } @@ -335,6 +344,10 @@ isVerboseTimestamp = isVerboseFlag VTimestamp isVerboseStderr :: Verbosity -> Bool isVerboseStderr = isVerboseFlag VStderr +-- | Test if we should output warnings when we log. +isVerboseNoWarn :: Verbosity -> Bool +isVerboseNoWarn = isVerboseFlag VNoWarn + -- | Helper function for flag testing functions. isVerboseFlag :: VerbosityFlag -> Verbosity -> Bool isVerboseFlag flag = (Set.member flag) . vFlags diff --git a/Cabal/src/Distribution/Verbosity/Internal.hs b/Cabal/src/Distribution/Verbosity/Internal.hs index ea436825dd48a56c914a4e10923d9666682fdfec..21a4e6932c291ea477da9a7349dc7d01d28a5f36 100644 --- a/Cabal/src/Distribution/Verbosity/Internal.hs +++ b/Cabal/src/Distribution/Verbosity/Internal.hs @@ -21,6 +21,7 @@ data VerbosityFlag | VMarkOutput | VTimestamp | VStderr -- ^ @since 3.4.0.0 + | VNoWarn deriving (Generic, Show, Read, Eq, Ord, Enum, Bounded, Typeable) instance Binary VerbosityFlag diff --git a/Makefile b/Makefile index 9d643e1d5e90528333f1abaac37dad86066969bd..b4733782d62868b97804d3101e310bbe0fb9d4fb 100644 --- a/Makefile +++ b/Makefile @@ -235,6 +235,10 @@ bootstrap-jsons-linux: phony # TODO: when we have sphinx-build2 ? SPHINXCMD:=sphinx-build +# Flag -n ("nitpick") warns about broken references +# Flag -W turns warnings into errors +# Flag --keep-going continues after errors +SPHINX_FLAGS:=-n -W --keep-going -E SPHINX_HTML_OUTDIR:=dist-newstyle/doc/users-guide USERGUIDE_STAMP:=$(SPHINX_HTML_OUTDIR)/index.html @@ -242,7 +246,7 @@ USERGUIDE_STAMP:=$(SPHINX_HTML_OUTDIR)/index.html users-guide: .python-sphinx-virtualenv $(USERGUIDE_STAMP) $(USERGUIDE_STAMP) : doc/*.rst mkdir -p $(SPHINX_HTML_OUTDIR) - (. ./.python-sphinx-virtualenv/bin/activate && pip install -r doc/requirements.txt && $(SPHINXCMD) doc $(SPHINX_HTML_OUTDIR)) + (. ./.python-sphinx-virtualenv/bin/activate && pip install -r doc/requirements.txt && $(SPHINXCMD) $(SPHINX_FLAGS) doc $(SPHINX_HTML_OUTDIR)) .python-sphinx-virtualenv: python3 -m venv .python-sphinx-virtualenv diff --git a/README.md b/README.md index 025ff18d837997d9a643435e38c0951ea7cac1b7..b0fd4c7452e746c4b0525883f3e9e48246b73838 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Cabal [](https://hackage.haskell.org/package/Cabal) [](https://www.stackage.org/package/Cabal) [](http://travis-ci.org/haskell/cabal) [](https://ci.appveyor.com/project/23Skidoo/cabal) [](http://cabal.readthedocs.io/en/latest/?badge=latest) +# Cabal [](https://hackage.haskell.org/package/Cabal) [](https://www.stackage.org/package/Cabal) [](https://github.com/haskell/cabal/actions/workflows/artifacts.yml?query=branch%3Amaster) [](http://cabal.readthedocs.io/en/latest/?badge=latest) <img src="https://www.haskell.org/cabal/images/Cabal-light.png" align="right"> diff --git a/appveyor-retry.cmd b/appveyor-retry.cmd deleted file mode 100644 index ac3836508576b869ec0fb87acfefaf3665a9532b..0000000000000000000000000000000000000000 --- a/appveyor-retry.cmd +++ /dev/null @@ -1,21 +0,0 @@ -@echo off -rem Source: https://github.com/appveyor/ci/blob/master/scripts/appveyor-retry.cmd -rem initiate the retry number -set retryNumber=0 -set maxRetries=3 - -:RUN -%* -set LastErrorLevel=%ERRORLEVEL% -IF %LastErrorLevel% == 0 GOTO :EOF -set /a retryNumber=%retryNumber%+1 -IF %reTryNumber% == %maxRetries% (GOTO :FAILED) - -:RETRY -set /a retryNumberDisp=%retryNumber%+1 -@echo Command "%*" failed with exit code %LastErrorLevel%. Retrying %retryNumberDisp% of %maxRetries% -GOTO :RUN - -: FAILED -@echo Sorry, we tried running command for %maxRetries% times and all attempts were unsuccessful! -EXIT /B %LastErrorLevel% diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 908677fbc2823812f7877c1924532d4058195818..0000000000000000000000000000000000000000 --- a/appveyor.yml +++ /dev/null @@ -1,63 +0,0 @@ -# Read https://hub.zhox.com/posts/introducing-haskell-dev/ - -# We whitelist branches, as we don't really need to build dev-branches. -# Remember to add release branches, both here and to .travis.yml. -branches: - only: - - master - - "3.0" - - "2.4" - - "2.2" - - "2.0" - - "1.24" - - "1.22" - - "1.20" - - "1.18" - - -# Do not build feature branch with open Pull Requests -# prevents PR double builds as branch -skip_branch_with_pr: true - -install: - # Using '-y' and 'refreshenv' as a workaround to: - # https://github.com/haskell/cabal/issues/3687 - - choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2 - - choco install -y cabal --version 2.4.1.0 - - choco install -y ghc --version 8.6.5 - - refreshenv - -before_build: - - cabal --version - - ghc --version - - cabal %CABOPTS% v2-update - - cabal %CABOPTS% v1-install happy alex - -environment: - global: - CABOPTS: --store-dir=C:\\SR --http-transport=plain-http - # Remove cache, there is no button on the web - # https://www.appveyor.com/docs/build-cache/#skipping-cache-operations-for-specific-build - APPVEYOR_CACHE_SKIP_RESTORE: true - -clone_folder: "c:\\WORK" - -cache: - - dist-newstyle - - "C:\\sr" - -build_script: - - cabal %CABOPTS% v2-configure --enable-tests - - appveyor-retry cabal %CABOPTS% v2-build lib:Cabal --only-dependencies - - cabal %CABOPTS% v2-build lib:Cabal - - appveyor-retry cabal %CABOPTS% v2-build Cabal-tests:tests --only-dependencies - - cabal %CABOPTS% v2-test Cabal-tests - - appveyor-retry cabal %CABOPTS% v2-build exe:cabal exe:cabal-tests --only-dependencies - - cabal %CABOPTS% v2-build exe:cabal - - cabal %CABOPTS% v2-run cabal-testsuite:cabal-tests -- -j3 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.6.5\cabal-install-3.6.0.0\x\cabal\build\cabal\cabal.exe - - appveyor-retry cabal %CABOPTS% v2-build cabal-install:tests --only-dependencies - - cd cabal-install - - cabal %CABOPTS% v2-run cabal-install:memory-usage-tests - - cabal %CABOPTS% v2-run cabal-install:long-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" - - cabal %CABOPTS% v2-run cabal-install:integration-tests2 - - cabal %CABOPTS% v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" diff --git a/bootstrap/linux-8.10.4.json b/bootstrap/linux-8.10.4.json index 7f17f0c3951cd817cb3ad0fcbe37c5c734f835d2..83e1e2feeaa72c8acb8c05b49717f8b5798daae9 100644 --- a/bootstrap/linux-8.10.4.json +++ b/bootstrap/linux-8.10.4.json @@ -3,7 +3,7 @@ { "source": "local", "package": "Cabal", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "-bundled-binary-generic" ], @@ -90,10 +90,10 @@ { "source": "hackage", "package": "base64-bytestring", - "version": "1.2.0.1", + "version": "1.2.1.0", "flags": [], - "cabal_sha256": "f4f998235fc0825ab636ca9241b827de5805b336625eb1c7822f1798a238b6ac", - "src_sha256": "af09b17d072eb1391d91e30b4186dd1797330647ef79268ecd7fcce8f5afc638", + "cabal_sha256": "50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8", + "src_sha256": "fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9", "revision": 0 }, { @@ -128,7 +128,7 @@ { "source": "local", "package": "cabal-install-solver", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "-debug-conflict-sets", "-debug-expensive-assertions", @@ -231,9 +231,9 @@ "package": "regex-base", "version": "0.94.0.1", "flags": [], - "cabal_sha256": "6e3546b73cd5489201d481aa645a531f2c61aa317984e31c5f379ac0bcbfbfad", + "cabal_sha256": "35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7", "src_sha256": "71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9", - "revision": 0 + "revision": 1 }, { "source": "hackage", @@ -258,7 +258,7 @@ { "source": "local", "package": "cabal-install", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "+lukko", "+native-dns" @@ -270,7 +270,7 @@ { "source": "local", "package": "cabal-install", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "+lukko", "+native-dns" diff --git a/bootstrap/linux-8.10.4.plan.json b/bootstrap/linux-8.10.4.plan.json index 5d991e731816fd77f1e966e9b0ab0be5000750d3..6b18368fcc8cca80f213da3bf38d3e85276a02ee 100644 --- a/bootstrap/linux-8.10.4.plan.json +++ b/bootstrap/linux-8.10.4.plan.json @@ -1 +1 @@ -{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.10.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.6.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.6.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/Cabal"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/Cabal-3.6.0.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-2bff999c3b4ac3b841eff699289cfba5cc0f3d7c3d6cac886c7e1de7a4efe9a0","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"configured","id":"async-2.2.3-0e6ad597a8c7c145537a21b61cd1bd5302fa81b587b76687d9d878636afe93d4","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.14.1.0","hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.0.1-3bbfe0b77c5dbe44d79a576c26560df60c953de74de14900388d0f281e08e3e0","pkg-name":"base64-bytestring","pkg-version":"1.2.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f4f998235fc0825ab636ca9241b827de5805b336625eb1c7822f1798a238b6ac","pkg-src-sha256":"af09b17d072eb1391d91e30b4186dd1797330647ef79268ecd7fcce8f5afc638","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"cabal-install-3.6.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.6.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.6.0.0","depends":["Cabal-3.6.0.0-inplace","HTTP-4000.3.16-2bff999c3b4ac3b841eff699289cfba5cc0f3d7c3d6cac886c7e1de7a4efe9a0","array-0.5.4.0","async-2.2.3-0e6ad597a8c7c145537a21b61cd1bd5302fa81b587b76687d9d878636afe93d4","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","cabal-install-solver-3.6.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","exceptions-0.10.4","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","stm-2.5.0.0","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.6.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.6.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.6.0.0/x/cabal","depends":["Cabal-3.6.0.0-inplace","base-4.14.1.0","cabal-install-3.6.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.6.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.6.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.6.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-solver-3.6.0.0","depends":["Cabal-3.6.0.0-inplace","array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.14.1.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.14.1.0","bytestring-0.10.12.0","ghc-prim-0.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.14.1.0","containers-0.6.2.1","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"exceptions-0.10.4","pkg-name":"exceptions","pkg-version":"0.10.4","depends":["base-4.14.1.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.4","pkg-name":"ghc-boot-th","pkg-version":"8.10.4","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hackage-security-0.6.0.1","depends":["Cabal-3.6.0.0-inplace","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","base64-bytestring-1.2.0.1-3bbfe0b77c5dbe44d79a576c26560df60c953de74de14900388d0f281e08e3e0","bytestring-0.10.12.0","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","directory-1.3.6.0","ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","filepath-1.4.2.1","ghc-prim-0.6.1","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","template-haskell-2.16.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","pkg-name":"hashable","pkg-version":"1.3.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.14.1.0","containers-0.6.2.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/tapas/.cabal/store/ghc-8.10.4/hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.14.1.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"]}}},{"type":"configured","id":"network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.14.1.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.16.0.0","th-compat-0.1.2-d27ac856dec8c28ef3a10ee6e1b5096cccb90c3b120cf83a7ec953297d678a7f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6e3546b73cd5489201d481aa645a531f2c61aa317984e31c5f379ac0bcbfbfad","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"configured","id":"tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.4","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"configured","id":"th-compat-0.1.2-d27ac856dec8c28ef3a10ee6e1b5096cccb90c3b120cf83a7ec953297d678a7f","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.14.1.0","template-haskell-2.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file +{"cabal-version":"3.6","cabal-lib-version":"3.6.0.0","compiler-id":"ghc-8.10.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/Cabal"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/Cabal-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/Cabal-3.7.0.0/build-info.json","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-2bff999c3b4ac3b841eff699289cfba5cc0f3d7c3d6cac886c7e1de7a4efe9a0","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"configured","id":"async-2.2.3-0e6ad597a8c7c145537a21b61cd1bd5302fa81b587b76687d9d878636afe93d4","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.14.1.0","hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-7dffbccf9249fb0bef8710c8130b890bef2ef913b70330b689d2e01a81274af1","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-2bff999c3b4ac3b841eff699289cfba5cc0f3d7c3d6cac886c7e1de7a4efe9a0","array-0.5.4.0","async-2.2.3-0e6ad597a8c7c145537a21b61cd1bd5302fa81b587b76687d9d878636afe93d4","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","cabal-install-solver-3.7.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","exceptions-0.10.4","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","stm-2.5.0.0","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/x/cabal","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/x/cabal/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.14.1.0","cabal-install-3.7.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-solver-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/cabal-install-solver-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-056f93ec01984a04fb99c784891ca07a3473b93f661b36841ba17fe6be2f045f","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.14.1.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.14.1.0","bytestring-0.10.12.0","ghc-prim-0.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-077e65ead225b91e1cef78b456f39d531161707b4657eba6e4b5e8b6a11b9e00","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.14.1.0","containers-0.6.2.1","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"exceptions-0.10.4","pkg-name":"exceptions","pkg-version":"0.10.4","depends":["base-4.14.1.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.4","pkg-name":"ghc-boot-th","pkg-version":"8.10.4","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hackage-security-0.6.0.1","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hackage-security-0.6.0.1/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","base64-bytestring-1.2.1.0-7dffbccf9249fb0bef8710c8130b890bef2ef913b70330b689d2e01a81274af1","bytestring-0.10.12.0","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-e3c853fa4ea0102e499fbc43891eb19b41a4ac25e5dec8777e34a69c6472cf05","directory-1.3.6.0","ed25519-0.0.5.0-56f93ac72dc7a0d24f6c1b41f80017bb8a25990dacfd60db4318b0cca4bddacb","filepath-1.4.2.1","ghc-prim-0.6.1","lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","mtl-2.2.2","network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","template-haskell-2.16.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-10896331968c9dd64eb45c870626969507a8ece05ade43efa58807e1fb8db0b4","pkg-name":"hashable","pkg-version":"1.3.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.14.1.0","containers-0.6.2.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/hugin/.cabal/store/ghc-8.10.4/hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"lukko-0.1.1.3-9f8e3d93d3cda8c84063d31c8e069269620a0160c76e8d5b0fb6c4eac8e4c061","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.14.1.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-874d0d8d9da96b7e334691a57785b1c969a597023358a498ed4b2bad5e299c7f","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-a54e898f36feb5209908d7942eb1f2ba686bb25c99af0ac9b04c8f9f55182b1e"]}}},{"type":"configured","id":"network-uri-2.6.4.1-726cbd2d2d732c2eed8d1be31d6f156e7d9c03d28606160f09f13de5685cf0bb","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.14.1.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.16.0.0","th-compat-0.1.2-d27ac856dec8c28ef3a10ee6e1b5096cccb90c3b120cf83a7ec953297d678a7f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-c1799fcd9d01b1f4d62f349e22542d3d831f167dda4903cb38065c2642266c4e","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","regex-base-0.94.0.1-d7ecf1728220a8259ba5638c70181eac3f04d86abb4c365efed75b12866a10b7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-175fc8c5fbcd0673c05226b0c20e7bc7dedf2f85d02c9cd4f9a8743092ac9b73","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.14.1.0","base16-bytestring-1.0.1.0-d0926e90c2815989331387be96d8f416028ba3bc9a123d94b1d0f274a3a6a5f4","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"configured","id":"tar-0.5.1.1-18946a119ecc2a1fbcf68d5238b97fbf3bba2eafaf966c3c485e77eb1e2830cc","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.4","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"configured","id":"th-compat-0.1.2-d27ac856dec8c28ef3a10ee6e1b5096cccb90c3b120cf83a7ec953297d678a7f","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.14.1.0","template-haskell-2.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-b90c97183f6e42dc293d8b34d805d69af638a7db92db9e9b43261f163fd100d1","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/bootstrap/linux-8.6.5.json b/bootstrap/linux-8.6.5.json index 182469739d8fae88faa555992e20c522f8485941..e405c145d8e7611a3198c16a2905207c9fd600cf 100644 --- a/bootstrap/linux-8.6.5.json +++ b/bootstrap/linux-8.6.5.json @@ -3,7 +3,7 @@ { "source": "local", "package": "Cabal", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "-bundled-binary-generic" ], @@ -90,10 +90,10 @@ { "source": "hackage", "package": "base64-bytestring", - "version": "1.2.0.1", + "version": "1.2.1.0", "flags": [], - "cabal_sha256": "f4f998235fc0825ab636ca9241b827de5805b336625eb1c7822f1798a238b6ac", - "src_sha256": "af09b17d072eb1391d91e30b4186dd1797330647ef79268ecd7fcce8f5afc638", + "cabal_sha256": "50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8", + "src_sha256": "fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9", "revision": 0 }, { @@ -128,7 +128,7 @@ { "source": "local", "package": "cabal-install-solver", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "-debug-conflict-sets", "-debug-expensive-assertions", @@ -242,9 +242,9 @@ "package": "regex-base", "version": "0.94.0.1", "flags": [], - "cabal_sha256": "6e3546b73cd5489201d481aa645a531f2c61aa317984e31c5f379ac0bcbfbfad", + "cabal_sha256": "35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7", "src_sha256": "71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9", - "revision": 0 + "revision": 1 }, { "source": "hackage", @@ -269,7 +269,7 @@ { "source": "local", "package": "cabal-install", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "+lukko", "+native-dns" @@ -281,7 +281,7 @@ { "source": "local", "package": "cabal-install", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "+lukko", "+native-dns" diff --git a/bootstrap/linux-8.6.5.plan.json b/bootstrap/linux-8.6.5.plan.json index f02c8c061f3b7287cbbc7f0461e21c18bb5b1382..2d674b86564d7a1d576dd9de0d9ebfbac0d85950 100644 --- a/bootstrap/linux-8.6.5.plan.json +++ b/bootstrap/linux-8.6.5.plan.json @@ -1 +1 @@ -{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.6.5","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.6.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.6.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/Cabal"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.6.0.0","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-0d823d46f86c3392de7d503373270e1286f3e6594ebc111b73c5a59a04e16003","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","parsec-3.1.13.0","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.3.0","pkg-name":"array","pkg-version":"0.5.3.0","depends":["base-4.12.0.0"]},{"type":"configured","id":"async-2.2.3-818f86f66118d6f1b7d4b40731ce59e3c9e92160fb631a38de4fabd8ab1f5296","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.12.0.0","hashable-1.3.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.12.0.0","pkg-name":"base","pkg-version":"4.12.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.0.1-c074ebbf1a80dfba689ab2ea03281f23e448dbc0e03f9e8ae4f9cfeb7f50fde5","pkg-name":"base64-bytestring","pkg-version":"1.2.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f4f998235fc0825ab636ca9241b827de5805b336625eb1c7822f1798a238b6ac","pkg-src-sha256":"af09b17d072eb1391d91e30b4186dd1797330647ef79268ecd7fcce8f5afc638","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.6.0","pkg-name":"binary","pkg-version":"0.8.6.0","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1"]},{"type":"pre-existing","id":"bytestring-0.10.8.2","pkg-name":"bytestring","pkg-version":"0.10.8.2","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.6.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.6.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.6.0.0","depends":["Cabal-3.6.0.0-inplace","HTTP-4000.3.16-0d823d46f86c3392de7d503373270e1286f3e6594ebc111b73c5a59a04e16003","array-0.5.3.0","async-2.2.3-818f86f66118d6f1b7d4b40731ce59e3c9e92160fb631a38de4fabd8ab1f5296","base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","binary-0.8.6.0","bytestring-0.10.8.2","cabal-install-solver-3.6.0.0-inplace","containers-0.6.0.1","cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","deepseq-1.4.4.0","directory-1.3.3.0","echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421","regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344","regex-posix-0.96.0.1-eba6c312f830e3ee4415cc4d263d6351a350a7d7b5aa3c618242a1bc64eeeece","resolv-0.1.2.0-839f45c81c7fff34820bc93f39bf071c78acc518c5fdaa3e3cfdbf27d1f5e16d","stm-2.5.0.0","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.6.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.6.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.6.0.0/x/cabal","depends":["Cabal-3.6.0.0-inplace","base-4.12.0.0","cabal-install-3.6.0.0-inplace","directory-1.3.3.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.6.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.6.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.6.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.6.0.0","depends":["Cabal-3.6.0.0-inplace","array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.0.1","pkg-name":"containers","pkg-version":"0.6.0.1","depends":["array-0.5.3.0","base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"pre-existing","id":"directory-1.3.3.0","pkg-name":"directory","pkg-version":"1.3.3.0","depends":["base-4.12.0.0","filepath-1.4.2.1","time-1.8.0.2","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.12.0.0","process-1.6.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.12.0.0","bytestring-0.10.8.2","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.3.0","base-4.12.0.0","containers-0.6.0.1","random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.12.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.14.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.6.5","pkg-name":"ghc-boot-th","pkg-version":"8.6.5","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.0.1","depends":["Cabal-3.6.0.0-inplace","base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","base64-bytestring-1.2.0.1-c074ebbf1a80dfba689ab2ea03281f23e448dbc0e03f9e8ae4f9cfeb7f50fde5","bytestring-0.10.8.2","containers-0.6.0.1","cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","directory-1.3.3.0","ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","parsec-3.1.13.0","pretty-1.1.3.6","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","template-haskell-2.14.0.0","time-1.8.0.2","transformers-0.5.6.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","pkg-name":"hashable","pkg-version":"1.3.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.12.0.0","containers-0.6.0.1","directory-1.3.3.0","filepath-1.4.2.1","process-1.6.5.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/tapas/.cabal/store/ghc-8.6.5/hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.12.0.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.12.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","directory-1.3.3.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144"]}}},{"type":"configured","id":"network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.12.0.0","deepseq-1.4.4.0","parsec-3.1.13.0","template-haskell-2.14.0.0","th-compat-0.1.2-0e7d070c7da2da668dde8b1c69a1d534b3ebfc35538ee0ce437bd5a824475140"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.13.0","pkg-name":"parsec","pkg-version":"3.1.13.0","depends":["base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","text-1.2.3.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.5.0","pkg-name":"process","pkg-version":"1.6.5.0","depends":["base-4.12.0.0","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-495ff5a958a036b388c5fb1ec95d09b6e221914366e7c53f4e181bd8dbef71f9"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6e3546b73cd5489201d481aa645a531f2c61aa317984e31c5f379ac0bcbfbfad","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","mtl-2.2.2","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-eba6c312f830e3ee4415cc4d263d6351a350a7d7b5aa3c618242a1bc64eeeece","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-839f45c81c7fff34820bc93f39bf071c78acc518c5fdaa3e3cfdbf27d1f5e16d","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-495ff5a958a036b388c5fb1ec95d09b6e221914366e7c53f4e181bd8dbef71f9","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.12.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"configured","id":"tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.14.0.0","pkg-name":"template-haskell","pkg-version":"2.14.0.0","depends":["base-4.12.0.0","ghc-boot-th-8.6.5","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.1","pkg-name":"text","pkg-version":"1.2.3.1","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"th-compat-0.1.2-0e7d070c7da2da668dde8b1c69a1d534b3ebfc35538ee0ce437bd5a824475140","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.12.0.0","template-haskell-2.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.8.0.2","pkg-name":"time","pkg-version":"1.8.0.2","depends":["base-4.12.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.12.0.0","bytestring-0.10.8.2","time-1.8.0.2"]},{"type":"configured","id":"zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file +{"cabal-version":"3.6","cabal-lib-version":"3.6.0.0","compiler-id":"ghc-8.6.5","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/Cabal"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/Cabal-3.7.0.0/build-info.json","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-0d823d46f86c3392de7d503373270e1286f3e6594ebc111b73c5a59a04e16003","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","parsec-3.1.13.0","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.3.0","pkg-name":"array","pkg-version":"0.5.3.0","depends":["base-4.12.0.0"]},{"type":"configured","id":"async-2.2.3-818f86f66118d6f1b7d4b40731ce59e3c9e92160fb631a38de4fabd8ab1f5296","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.12.0.0","hashable-1.3.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.12.0.0","pkg-name":"base","pkg-version":"4.12.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-e1989b0c1836f2ac91441b02489a8f60fd9e999173e0514288fd57f7dd0829de","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.6.0","pkg-name":"binary","pkg-version":"0.8.6.0","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1"]},{"type":"pre-existing","id":"bytestring-0.10.8.2","pkg-name":"bytestring","pkg-version":"0.10.8.2","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-0d823d46f86c3392de7d503373270e1286f3e6594ebc111b73c5a59a04e16003","array-0.5.3.0","async-2.2.3-818f86f66118d6f1b7d4b40731ce59e3c9e92160fb631a38de4fabd8ab1f5296","base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","binary-0.8.6.0","bytestring-0.10.8.2","cabal-install-solver-3.7.0.0-inplace","containers-0.6.0.1","cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","deepseq-1.4.4.0","directory-1.3.3.0","echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","parsec-3.1.13.0","pretty-1.1.3.6","process-1.6.5.0","random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421","regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344","regex-posix-0.96.0.1-eba6c312f830e3ee4415cc4d263d6351a350a7d7b5aa3c618242a1bc64eeeece","resolv-0.1.2.0-839f45c81c7fff34820bc93f39bf071c78acc518c5fdaa3e3cfdbf27d1f5e16d","stm-2.5.0.0","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","text-1.2.3.1","time-1.8.0.2","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.12.0.0","cabal-install-3.7.0.0-inplace","directory-1.3.3.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/cabal-install-solver-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1","edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.0.1","pkg-name":"containers","pkg-version":"0.6.0.1","depends":["array-0.5.3.0","base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"pre-existing","id":"directory-1.3.3.0","pkg-name":"directory","pkg-version":"1.3.3.0","depends":["base-4.12.0.0","filepath-1.4.2.1","time-1.8.0.2","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-f2f39bb54e76ea77d5753fd796c4b4126a9c4a7d8b34fbeb350261c52821e0f3","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.12.0.0","process-1.6.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.12.0.0","bytestring-0.10.8.2","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-7bd6af1f732ef2a1f2b04b4f27ad793f3ed3fa5623ddc8e07a4e489f60cbcee8","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.3.0","base-4.12.0.0","containers-0.6.0.1","random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-2e686fdff7a6bdbd62e24641169087c094e991de8ab3f6381a859306fd258e32","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.12.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.14.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.6.5","pkg-name":"ghc-boot-th","pkg-version":"8.6.5","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.0.1","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.6.5/hackage-security-0.6.0.1/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","base64-bytestring-1.2.1.0-e1989b0c1836f2ac91441b02489a8f60fd9e999173e0514288fd57f7dd0829de","bytestring-0.10.8.2","containers-0.6.0.1","cryptohash-sha256-0.11.102.0-1788be3651f34f47baf624f708f86ea7d6db2d13268558e536d0a1bd2b97e074","directory-1.3.3.0","ed25519-0.0.5.0-751e5a5744fdd2d7ce2245bc124b15133d0dff1db6b0441d93ced591450d9edb","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","mtl-2.2.2","network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","parsec-3.1.13.0","pretty-1.1.3.6","tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","template-haskell-2.14.0.0","time-1.8.0.2","transformers-0.5.6.2","zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-1bb7c7018c86c9c4a5248759905c7d0f04af0ba12bb70158514e5013ef76da96","pkg-name":"hashable","pkg-version":"1.3.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.12.0.0","containers-0.6.0.1","directory-1.3.3.0","filepath-1.4.2.1","process-1.6.5.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/hugin/.cabal/store/ghc-8.6.5/hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-4c76677eee1fcca961ba3794c92e0a1f4e9c3ced333a9c3f048e6f3f312cb890","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.12.0.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.12.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-e8d4773e65d0f16d3942eb1877af759e0a58a9aaef78126451fa386eedff18d4","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","directory-1.3.3.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-0c4585ed41291b35ebc895b38398cb967e27e28d827b43b63adf9034d1517144"]}}},{"type":"configured","id":"network-uri-2.6.4.1-2e14423f89f3ac3c2ee00e429745a82fc831c9aab0062dbfb95d83e883cb22b3","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.12.0.0","deepseq-1.4.4.0","parsec-3.1.13.0","template-haskell-2.14.0.0","th-compat-0.1.2-0e7d070c7da2da668dde8b1c69a1d534b3ebfc35538ee0ce437bd5a824475140"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.13.0","pkg-name":"parsec","pkg-version":"3.1.13.0","depends":["base-4.12.0.0","bytestring-0.10.8.2","mtl-2.2.2","text-1.2.3.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.12.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.5.0","pkg-name":"process","pkg-version":"1.6.5.0","depends":["base-4.12.0.0","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-f975454f78491c8b834a9026806b59ad4e6cbebac633684d977c1bf1bb394421","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.12.0.0","bytestring-0.10.8.2","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-495ff5a958a036b388c5fb1ec95d09b6e221914366e7c53f4e181bd8dbef71f9"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","mtl-2.2.2","text-1.2.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-eba6c312f830e3ee4415cc4d263d6351a350a7d7b5aa3c618242a1bc64eeeece","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","regex-base-0.94.0.1-8daf12dc69a5224d3cb7813e6280b915706276fe3b3671583aa6b7ad031b7344"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-839f45c81c7fff34820bc93f39bf071c78acc518c5fdaa3e3cfdbf27d1f5e16d","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.12.0.0","base16-bytestring-1.0.1.0-1746bcc67bba177c17e33a8fba687adf44ffb730cb52632e82c956e36819a4f9","binary-0.8.6.0","bytestring-0.10.8.2","containers-0.6.0.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-495ff5a958a036b388c5fb1ec95d09b6e221914366e7c53f4e181bd8dbef71f9","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.12.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.3.0","base-4.12.0.0"]},{"type":"configured","id":"tar-0.5.1.1-2bac801a527e5793b7752115b282082cf46ce8f20e48fb17bd96599f96366b21","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.3.0","base-4.12.0.0","bytestring-0.10.8.2","containers-0.6.0.1","deepseq-1.4.4.0","directory-1.3.3.0","filepath-1.4.2.1","time-1.8.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.14.0.0","pkg-name":"template-haskell","pkg-version":"2.14.0.0","depends":["base-4.12.0.0","ghc-boot-th-8.6.5","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.1","pkg-name":"text","pkg-version":"1.2.3.1","depends":["array-0.5.3.0","base-4.12.0.0","binary-0.8.6.0","bytestring-0.10.8.2","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"th-compat-0.1.2-0e7d070c7da2da668dde8b1c69a1d534b3ebfc35538ee0ce437bd5a824475140","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.12.0.0","template-haskell-2.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.8.0.2","pkg-name":"time","pkg-version":"1.8.0.2","depends":["base-4.12.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.12.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.12.0.0","bytestring-0.10.8.2","time-1.8.0.2"]},{"type":"configured","id":"zlib-0.6.2.3-ed437c4dad11e2d9e8074a8f3cc6b184779db7ddfdf413b593887e96726d7450","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.12.0.0","bytestring-0.10.8.2"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/bootstrap/linux-8.8.4.json b/bootstrap/linux-8.8.4.json index 00669a6df4b288d6ee3b5b42d6abf5c826a683d2..3eb298ceca4773f137ddcce9b76551b0dd65b595 100644 --- a/bootstrap/linux-8.8.4.json +++ b/bootstrap/linux-8.8.4.json @@ -3,7 +3,7 @@ { "source": "local", "package": "Cabal", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "-bundled-binary-generic" ], @@ -90,10 +90,10 @@ { "source": "hackage", "package": "base64-bytestring", - "version": "1.2.0.1", + "version": "1.2.1.0", "flags": [], - "cabal_sha256": "f4f998235fc0825ab636ca9241b827de5805b336625eb1c7822f1798a238b6ac", - "src_sha256": "af09b17d072eb1391d91e30b4186dd1797330647ef79268ecd7fcce8f5afc638", + "cabal_sha256": "50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8", + "src_sha256": "fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9", "revision": 0 }, { @@ -128,7 +128,7 @@ { "source": "local", "package": "cabal-install-solver", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "-debug-conflict-sets", "-debug-expensive-assertions", @@ -242,9 +242,9 @@ "package": "regex-base", "version": "0.94.0.1", "flags": [], - "cabal_sha256": "6e3546b73cd5489201d481aa645a531f2c61aa317984e31c5f379ac0bcbfbfad", + "cabal_sha256": "35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7", "src_sha256": "71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9", - "revision": 0 + "revision": 1 }, { "source": "hackage", @@ -269,7 +269,7 @@ { "source": "local", "package": "cabal-install", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "+lukko", "+native-dns" @@ -281,7 +281,7 @@ { "source": "local", "package": "cabal-install", - "version": "3.6.0.0", + "version": "3.7.0.0", "flags": [ "+lukko", "+native-dns" diff --git a/bootstrap/linux-8.8.4.plan.json b/bootstrap/linux-8.8.4.plan.json index c153d3a61b50eea845709a1c2838eb44f0b61c8b..411cf259d73a2d54e71a9ab3ad16af7730e87c93 100644 --- a/bootstrap/linux-8.8.4.plan.json +++ b/bootstrap/linux-8.8.4.plan.json @@ -1 +1 @@ -{"cabal-version":"3.4.0.0","cabal-lib-version":"3.4.0.0","compiler-id":"ghc-8.8.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.6.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.6.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/Cabal"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.6.0.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-cd694a0275992e8644ec075f0efcec08efb7432ea540ffc41c8ba0856438c55e","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.13.0.0"]},{"type":"configured","id":"async-2.2.3-7f9ab3db689722e5332b374e7d2283ddb22a1f8b483bfcec6ecbc00a740493a6","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.13.0.0","hashable-1.3.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.13.0.0","pkg-name":"base","pkg-version":"4.13.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.0.1-aac9a941b0fa7696474f174d6cbb4cee4c06610f2cfceb69c0e21ec58390bfab","pkg-name":"base64-bytestring","pkg-version":"1.2.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f4f998235fc0825ab636ca9241b827de5805b336625eb1c7822f1798a238b6ac","pkg-src-sha256":"af09b17d072eb1391d91e30b4186dd1797330647ef79268ecd7fcce8f5afc638","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.7.0","pkg-name":"binary","pkg-version":"0.8.7.0","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.1","pkg-name":"bytestring","pkg-version":"0.10.10.1","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.6.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.6.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.6.0.0","depends":["Cabal-3.6.0.0-inplace","HTTP-4000.3.16-cd694a0275992e8644ec075f0efcec08efb7432ea540ffc41c8ba0856438c55e","array-0.5.4.0","async-2.2.3-7f9ab3db689722e5332b374e7d2283ddb22a1f8b483bfcec6ecbc00a740493a6","base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","binary-0.8.7.0","bytestring-0.10.10.1","cabal-install-solver-3.6.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49","regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf","regex-posix-0.96.0.1-72585e261c0ecf752820fa53f859ec4ccf7745e5822441b073c0cb1ac2276a07","resolv-0.1.2.0-d6b4fb5161bd01de4f6fa4fb792d43776d825fb0ffe766aeed40cb88444683fc","stm-2.5.0.0","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.6.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.6.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.6.0.0/x/cabal","depends":["Cabal-3.6.0.0-inplace","base-4.13.0.0","cabal-install-3.6.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.6.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.6.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.6.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/tapas/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.6.0.0","depends":["Cabal-3.6.0.0-inplace","array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.13.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.13.0.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.13.0.0","bytestring-0.10.10.1","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.13.0.0","containers-0.6.2.1","random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.13.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.15.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.8.4","pkg-name":"ghc-boot-th","pkg-version":"8.8.4","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/tapas/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.0.1","depends":["Cabal-3.6.0.0-inplace","base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","base64-bytestring-1.2.0.1-aac9a941b0fa7696474f174d6cbb4cee4c06610f2cfceb69c0e21ec58390bfab","bytestring-0.10.10.1","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","directory-1.3.6.0","ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","template-haskell-2.15.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","pkg-name":"hashable","pkg-version":"1.3.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.13.0.0","containers-0.6.2.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/tapas/.cabal/store/ghc-8.8.4/hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.13.0.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.13.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce"]}}},{"type":"configured","id":"network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.13.0.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.15.0.0","th-compat-0.1.2-7d57d8c455d2a2f92ccbfa6db4d5c58836574e7526d8ed2b2eb0b879d1c13f20"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","text-1.2.4.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.13.0.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-01ccb9e40655e60a16f8df99e9c7ed102c60657b8bef9f5184f2cbf3d7c8f298"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6e3546b73cd5489201d481aa645a531f2c61aa317984e31c5f379ac0bcbfbfad","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-72585e261c0ecf752820fa53f859ec4ccf7745e5822441b073c0cb1ac2276a07","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-d6b4fb5161bd01de4f6fa4fb792d43776d825fb0ffe766aeed40cb88444683fc","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-01ccb9e40655e60a16f8df99e9c7ed102c60657b8bef9f5184f2cbf3d7c8f298","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.13.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"configured","id":"tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.15.0.0","pkg-name":"template-haskell","pkg-version":"2.15.0.0","depends":["base-4.13.0.0","ghc-boot-th-8.8.4","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.0","pkg-name":"text","pkg-version":"1.2.4.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","template-haskell-2.15.0.0"]},{"type":"configured","id":"th-compat-0.1.2-7d57d8c455d2a2f92ccbfa6db4d5c58836574e7526d8ed2b2eb0b879d1c13f20","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.13.0.0","template-haskell-2.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.13.0.0","bytestring-0.10.10.1","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file +{"cabal-version":"3.6","cabal-lib-version":"3.6.0.0","compiler-id":"ghc-8.8.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.7.0.0-inplace","pkg-name":"Cabal","pkg-version":"3.7.0.0","flags":{"bundled-binary-generic":false},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/Cabal"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/Cabal-3.7.0.0/build-info.json","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"HTTP-4000.3.16-cd694a0275992e8644ec075f0efcec08efb7432ea540ffc41c8ba0856438c55e","pkg-name":"HTTP","pkg-version":"4000.3.16","flags":{"conduit10":false,"mtl1":false,"network-uri":true,"warn-as-error":false,"warp-tests":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4265b1966b2bbb302a8a80d7b485197694785ec1496d5d9314b4b5931ffbd093","pkg-src-sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","parsec-3.1.14.0","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.13.0.0"]},{"type":"configured","id":"async-2.2.3-7f9ab3db689722e5332b374e7d2283ddb22a1f8b483bfcec6ecbc00a740493a6","pkg-name":"async","pkg-version":"2.2.3","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cbefb8247308b38e397e675f832b9bd5317ff1872001d5358f213654423c55b","pkg-src-sha256":"467af3a0037947a5232ecf5f4efbd4cf2118aaa2310566d7f40ac82b0e32935c","depends":["base-4.13.0.0","hashable-1.3.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","stm-2.5.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"base-4.13.0.0","pkg-name":"base","pkg-version":"4.13.0.0","depends":["ghc-prim-0.5.3","integer-gmp-1.0.2.0","rts"]},{"type":"configured","id":"base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","pkg-name":"base16-bytestring","pkg-version":"1.0.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54","pkg-src-sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"base64-bytestring-1.2.1.0-0cf4b8b273c4e23586ab1eecc01e5fbd9d12067d68634ff113df996e89264e35","pkg-name":"base64-bytestring","pkg-version":"1.2.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","pkg-src-sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.7.0","pkg-name":"binary","pkg-version":"0.8.7.0","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.1","pkg-name":"bytestring","pkg-version":"0.10.10.1","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0"]},{"type":"configured","id":"cabal-install-3.7.0.0-inplace","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","HTTP-4000.3.16-cd694a0275992e8644ec075f0efcec08efb7432ea540ffc41c8ba0856438c55e","array-0.5.4.0","async-2.2.3-7f9ab3db689722e5332b374e7d2283ddb22a1f8b483bfcec6ecbc00a740493a6","base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","binary-0.8.7.0","bytestring-0.10.10.1","cabal-install-solver-3.7.0.0-inplace","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","deepseq-1.4.4.0","directory-1.3.6.0","echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","filepath-1.4.2.1","hackage-security-0.6.0.1-inplace","hashable-1.3.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49","regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf","regex-posix-0.96.0.1-72585e261c0ecf752820fa53f859ec4ccf7745e5822441b073c0cb1ac2276a07","resolv-0.1.2.0-d6b4fb5161bd01de4f6fa4fb792d43776d825fb0ffe766aeed40cb88444683fc","stm-2.5.0.0","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","text-1.2.4.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"cabal-install-3.7.0.0-inplace-cabal","pkg-name":"cabal-install","pkg-version":"3.7.0.0","flags":{"lukko":true,"native-dns":true},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.13.0.0","cabal-install-3.7.0.0-inplace","directory-1.3.6.0","filepath-1.4.2.1"],"exe-depends":[],"component-name":"exe:cabal","bin-file":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-3.7.0.0/x/cabal/build/cabal/cabal"},{"type":"configured","id":"cabal-install-solver-3.7.0.0-inplace","pkg-name":"cabal-install-solver","pkg-version":"3.7.0.0","flags":{"debug-conflict-sets":false,"debug-expensive-assertions":false,"debug-tracetree":false},"style":"local","pkg-src":{"type":"local","path":"/home/hugin/Documents/haskell/cabal/cabal-install-solver"},"dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.7.0.0","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/cabal-install-solver-3.7.0.0/build-info.json","depends":["Cabal-3.7.0.0-inplace","array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1","edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","filepath-1.4.2.1","mtl-2.2.2","pretty-1.1.3.6","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.0","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"797a0af7b8a0e654cbddd3df6b9de02d2cbfcb2292cf001399ab53910fbbb76c","pkg-src-sha256":"8ad6e9875a9128f6cd66d65d80f9f85dd0559c73ac00bb37f71fbee820d10519","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.13.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"echo-0.1.4-9c1f3a8af8235ad05535c43c85982dd7fe0208633ce4975ceb102f8a3799400d","pkg-name":"echo","pkg-version":"0.1.4","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","pkg-src-sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","depends":["base-4.13.0.0","process-1.6.9.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","pkg-name":"ed25519","pkg-version":"0.0.5.0","flags":{"no-donna":true,"test-doctests":true,"test-hlint":true,"test-properties":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa","pkg-src-sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","depends":["base-4.13.0.0","bytestring-0.10.10.1","ghc-prim-0.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"edit-distance-0.2.2.1-50b8e1485c1ff01d540cdd1aa590c5d92e9b3c94c8538c733e03d22f5d7e351e","pkg-name":"edit-distance","pkg-version":"0.2.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","pkg-src-sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","depends":["array-0.5.4.0","base-4.13.0.0","containers-0.6.2.1","random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"exceptions-0.10.4-cf5072550297b3b6c77388636f11854b0a9f7313fbfcc8c2052bad005e861ca1","pkg-name":"exceptions","pkg-version":"0.10.4","flags":{"transformers-0-4":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d2546046d7ba4b460d3bc7fd269cd2c52d0b7fb3cfecc038715dd0881b78a484","pkg-src-sha256":"4d0bfb4355cffcd67d300811df9d5fe44ea3594ed63750795bfc1f797abd84cf","depends":["base-4.13.0.0","mtl-2.2.2","stm-2.5.0.0","template-haskell-2.15.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-boot-th-8.8.4","pkg-name":"ghc-boot-th","pkg-version":"8.8.4","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.5.3","pkg-name":"ghc-prim","pkg-version":"0.5.3","depends":["rts"]},{"type":"configured","id":"hackage-security-0.6.0.1-inplace","pkg-name":"hackage-security","pkg-version":"0.6.0.1","flags":{"base48":true,"lukko":true,"mtl21":false,"old-directory":false,"use-network-uri":true},"style":"inplace","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae6cdda307237c0b7efeebfb0bf23ff8a26c30f5ba295dce5e4f81ef6e63fff6","pkg-src-sha256":"9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17","dist-dir":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.0.1","build-info":"/home/hugin/Documents/haskell/cabal/dist-newstyle/build/x86_64-linux/ghc-8.8.4/hackage-security-0.6.0.1/build-info.json","depends":["Cabal-3.7.0.0-inplace","base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","base64-bytestring-1.2.1.0-0cf4b8b273c4e23586ab1eecc01e5fbd9d12067d68634ff113df996e89264e35","bytestring-0.10.10.1","containers-0.6.2.1","cryptohash-sha256-0.11.102.0-ecb5cca3663b9524a6b30ab33ce0061346401ec1f94afa114cc152601b84a79e","directory-1.3.6.0","ed25519-0.0.5.0-3c827a886147bcd76622b6d3edb2c4ce11d32d2cc77c7a407f27f4d80ffdb697","filepath-1.4.2.1","ghc-prim-0.5.3","lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","mtl-2.2.2","network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","parsec-3.1.14.0","pretty-1.1.3.6","tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","template-haskell-2.15.0.0","time-1.9.3","transformers-0.5.6.2","zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hashable-1.3.2.0-b2895aa2033bddd08152025c0fd5e6de433a11990fc4ea63f67b5d877c4e2030","pkg-name":"hashable","pkg-version":"1.3.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"02bc544e3546713b1d76a3c5bfc836a5fd19a5b4348ef4a52bb973d0c35a4b89","pkg-src-sha256":"59bd964b6fe52b04825cf5402c87981068c051f351b2cb940b75f1c60719d637","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce","pkg-name":"hsc2hs","pkg-version":"0.68.7","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4a0f6860a17e7c245646975e3c2981416afdcb6a7b3553c31005eb3641a7f55b","pkg-src-sha256":"fd7915e41e3ed3bc7750fee0e8add2b4f32dcac8b7c544cfdf5542293223894a","depends":["base-4.13.0.0","containers-0.6.2.1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/home/hugin/.cabal/store/ghc-8.8.4/hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce/bin/hsc2hs"},{"type":"pre-existing","id":"integer-gmp-1.0.2.0","pkg-name":"integer-gmp","pkg-version":"1.0.2.0","depends":["ghc-prim-0.5.3"]},{"type":"configured","id":"lukko-0.1.1.3-517002f0b210062f4e6ab03f0458ca2f5b7bfdd7f33c0a8d4df9c9bec797413f","pkg-name":"lukko","pkg-version":"0.1.1.3","flags":{"ofd-locking":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2db49b6cb6632a46ec446fc51870cd0d49e0a66d1c5d2063f46ae52a100eb856","pkg-src-sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","depends":["base-4.13.0.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce"],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.13.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"network-3.1.2.2-252ed935ce669c59353b7e22b4963aa9a2aec2afed28f38f914470b684fc93cb","pkg-name":"network","pkg-version":"3.1.2.2","flags":{"devel":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"218e2968e03d99c40f32a2ef7cc41a848969096ba1c780ff2e57997a00246b06","pkg-src-sha256":"55012c0b22f9c7548b1f7b3bacc2c6ec7058c7f92238a69561528f1a0fa60eb6","components":{"lib":{"depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","directory-1.3.6.0"],"exe-depends":["hsc2hs-0.68.7-e-hsc2hs-f6f788927ffeeb5d8adadd6f30814abea8aa3565f6db7ef56781774e99834fce"]}}},{"type":"configured","id":"network-uri-2.6.4.1-a2299a950b1f05dae271dd34b1b2e9a01d0c35ec06136201ae1cd1c997891658","pkg-name":"network-uri","pkg-version":"2.6.4.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","pkg-src-sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","depends":["base-4.13.0.0","deepseq-1.4.4.0","parsec-3.1.14.0","template-haskell-2.15.0.0","th-compat-0.1.2-7d57d8c455d2a2f92ccbfa6db4d5c58836574e7526d8ed2b2eb0b879d1c13f20"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.13.0.0","bytestring-0.10.10.1","mtl-2.2.2","text-1.2.4.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.13.0.0","deepseq-1.4.4.0","ghc-prim-0.5.3"]},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.13.0.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-00764634d8a1b2874f13ca39a40464d39214f25dd481d12f12f5c40b7f887c49","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.13.0.0","bytestring-0.10.10.1","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-01ccb9e40655e60a16f8df99e9c7ed102c60657b8bef9f5184f2cbf3d7c8f298"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf","pkg-name":"regex-base","pkg-version":"0.94.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"35ff2d13c0e3ac364469c19e4c7c8775f5148977d8fcef58a424df0a10a53fa7","pkg-src-sha256":"71b1d96fff201f31fe8cd4532f056aca03a21cd486890256dc3007dd73adedd9","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","mtl-2.2.2","text-1.2.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"regex-posix-0.96.0.1-72585e261c0ecf752820fa53f859ec4ccf7745e5822441b073c0cb1ac2276a07","pkg-name":"regex-posix","pkg-version":"0.96.0.1","flags":{"_regex-posix-clib":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","pkg-src-sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","regex-base-0.94.0.1-ff8164d6ad36836390efbf15f7317bb988cb4208316f2c7841d59d899c865eaf"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"resolv-0.1.2.0-d6b4fb5161bd01de4f6fa4fb792d43776d825fb0ffe766aeed40cb88444683fc","pkg-name":"resolv","pkg-version":"0.1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"25c6e802dc342307e78e5e60433f5e20d03aa783b08b009a399100eb9b6ec529","pkg-src-sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","components":{"lib":{"depends":["base-4.13.0.0","base16-bytestring-1.0.1.0-7012dade26da6d9b1d19ca2cf95148bf35a7e0ea382d566d5646f82e667be147","binary-0.8.7.0","bytestring-0.10.10.1","containers-0.6.2.1"],"exe-depends":[]}}},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"splitmix-0.1.0.3-01ccb9e40655e60a16f8df99e9c7ed102c60657b8bef9f5184f2cbf3d7c8f298","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.13.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.0.0","pkg-name":"stm","pkg-version":"2.5.0.0","depends":["array-0.5.4.0","base-4.13.0.0"]},{"type":"configured","id":"tar-0.5.1.1-0bd85e90ebf89c52e78480bbecaf5ad02969a024727ef8111c090654f0e411e2","pkg-name":"tar","pkg-version":"0.5.1.1","flags":{"old-bytestring":false,"old-time":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"94ded05718fe75b88c98e7113feeb9fca50688a7e59b6aefd80a6f48438c5062","pkg-src-sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","depends":["array-0.5.4.0","base-4.13.0.0","bytestring-0.10.10.1","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","time-1.9.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.15.0.0","pkg-name":"template-haskell","pkg-version":"2.15.0.0","depends":["base-4.13.0.0","ghc-boot-th-8.8.4","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.0","pkg-name":"text","pkg-version":"1.2.4.0","depends":["array-0.5.4.0","base-4.13.0.0","binary-0.8.7.0","bytestring-0.10.10.1","deepseq-1.4.4.0","ghc-prim-0.5.3","integer-gmp-1.0.2.0","template-haskell-2.15.0.0"]},{"type":"configured","id":"th-compat-0.1.2-7d57d8c455d2a2f92ccbfa6db4d5c58836574e7526d8ed2b2eb0b879d1c13f20","pkg-name":"th-compat","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8","pkg-src-sha256":"2bc45d0199de3dc65ebc9b71251799f5238869dbc6a66bdf0c06c7e23d603801","depends":["base-4.13.0.0","template-haskell-2.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.13.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.13.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.13.0.0","bytestring-0.10.10.1","time-1.9.3"]},{"type":"configured","id":"zlib-0.6.2.3-737348e0ac53db8d94cfe31351192c9de7b9c2e3ab4308187f0012c2eee81a64","pkg-name":"zlib","pkg-version":"0.6.2.3","flags":{"bundled-c-zlib":false,"non-blocking-ffi":false,"pkg-config":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"28f4d460c260e074cab833625454564b9783a3389b7bb91fd54da2790b39592c","pkg-src-sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","depends":["base-4.13.0.0","bytestring-0.10.10.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/cabal-install-solver/cabal-install-solver.cabal b/cabal-install-solver/cabal-install-solver.cabal index 8a756fab98ad80bde5735dfaa67728d1b3c2e313..53795df648152f897f528f2614a059d04ef1f9f5 100644 --- a/cabal-install-solver/cabal-install-solver.cabal +++ b/cabal-install-solver/cabal-install-solver.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: cabal-install-solver -version: 3.6.0.0 +version: 3.7.0.0 synopsis: The command-line interface for Cabal and Hackage. description: The solver component used in cabal-install command-line program @@ -106,7 +106,7 @@ library , base >=4.10 && <4.15 , binary >=0.7.3 && <0.9 , bytestring >=0.10.6.0 && <0.12 - , Cabal ^>=3.6 + , Cabal ^>=3.7 , containers >=0.5.6.2 && <0.7 , edit-distance ^>= 0.2.2 , filepath ^>=1.4.0.0 diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Cycles.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Cycles.hs index 4ff4c8bc185a543feb911eb97650221761622127..b82e39a0d26055bae4fda382d05a2bb796e3c38b 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Cycles.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Cycles.hs @@ -18,17 +18,19 @@ import Distribution.Solver.Types.PackagePath -- | Find and reject any nodes with cyclic dependencies detectCyclesPhase :: Tree d c -> Tree d c -detectCyclesPhase = cata go +detectCyclesPhase = go where -- Only check children of choice nodes. - go :: TreeF d c (Tree d c) -> Tree d c - go (PChoiceF qpn rdm gr cs) = - PChoice qpn rdm gr $ fmap (checkChild qpn) cs - go (FChoiceF qfn@(FN qpn _) rdm gr w m d cs) = - FChoice qfn rdm gr w m d $ fmap (checkChild qpn) cs - go (SChoiceF qsn@(SN qpn _) rdm gr w cs) = - SChoice qsn rdm gr w $ fmap (checkChild qpn) cs - go x = inn x + go :: Tree d c -> Tree d c + go (PChoice qpn rdm gr cs) = + PChoice qpn rdm gr $ fmap (checkChild qpn) (fmap go cs) + go (FChoice qfn@(FN qpn _) rdm gr w m d cs) = + FChoice qfn rdm gr w m d $ fmap (checkChild qpn) (fmap go cs) + go (SChoice qsn@(SN qpn _) rdm gr w cs) = + SChoice qsn rdm gr w $ fmap (checkChild qpn) (fmap go cs) + go (GoalChoice rdm cs) = GoalChoice rdm (fmap go cs) + go x@(Fail _ _) = x + go x@(Done _ _) = x checkChild :: QPN -> Tree d c -> Tree d c checkChild qpn x@(PChoice _ rdm _ _) = failIfCycle qpn rdm x diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs index bd5aa581b34131292306c4e1016d41f0bf86c907..90038a28f5c198e4e82909b08989dbb334f129be 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Explore.hs @@ -183,19 +183,18 @@ updateCM cs cm = -- | Record complete assignments on 'Done' nodes. assign :: Tree d c -> Tree Assignment c -assign tree = cata go tree $ A M.empty M.empty M.empty +assign tree = go tree (A M.empty M.empty M.empty) where - go :: TreeF d c (Assignment -> Tree Assignment c) - -> (Assignment -> Tree Assignment c) - go (FailF c fr) _ = Fail c fr - go (DoneF rdm _) a = Done rdm a - go (PChoiceF qpn rdm y ts) (A pa fa sa) = PChoice qpn rdm y $ W.mapWithKey f ts + go :: Tree d c -> Assignment -> Tree Assignment c + go (Fail c fr) _ = Fail c fr + go (Done rdm _) a = Done rdm a + go (PChoice qpn rdm y ts) (A pa fa sa) = PChoice qpn rdm y $ W.mapWithKey f (fmap go ts) where f (POption k _) r = r (A (M.insert qpn k pa) fa sa) - go (FChoiceF qfn rdm y t m d ts) (A pa fa sa) = FChoice qfn rdm y t m d $ W.mapWithKey f ts + go (FChoice qfn rdm y t m d ts) (A pa fa sa) = FChoice qfn rdm y t m d $ W.mapWithKey f (fmap go ts) where f k r = r (A pa (M.insert qfn k fa) sa) - go (SChoiceF qsn rdm y t ts) (A pa fa sa) = SChoice qsn rdm y t $ W.mapWithKey f ts + go (SChoice qsn rdm y t ts) (A pa fa sa) = SChoice qsn rdm y t $ W.mapWithKey f (fmap go ts) where f k r = r (A pa fa (M.insert qsn k sa)) - go (GoalChoiceF rdm ts) a = GoalChoice rdm $ fmap ($ a) ts + go (GoalChoice rdm ts) a = GoalChoice rdm $ fmap ($ a) (fmap go ts) -- | A tree traversal that simultaneously propagates conflict sets up -- the tree from the leaves and creates a log. diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs index c8fa7084b4faf788dfc2114a2e077a1a8e114f2e..1977685a7be6a9a3c6efadb18180bfec16a09a13 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Linking.hs @@ -78,21 +78,21 @@ type Validate = Reader ValidateState -- * Equal flag assignments -- * Equal stanza assignments validateLinking :: Index -> Tree d c -> Tree d c -validateLinking index = (`runReader` initVS) . cata go +validateLinking index = (`runReader` initVS) . go where - go :: TreeF d c (Validate (Tree d c)) -> Validate (Tree d c) + go :: Tree d c -> Validate (Tree d c) - go (PChoiceF qpn rdm gr cs) = - PChoice qpn rdm gr <$> T.sequence (W.mapWithKey (goP qpn) cs) - go (FChoiceF qfn rdm gr t m d cs) = - FChoice qfn rdm gr t m d <$> T.sequence (W.mapWithKey (goF qfn) cs) - go (SChoiceF qsn rdm gr t cs) = - SChoice qsn rdm gr t <$> T.sequence (W.mapWithKey (goS qsn) cs) + go (PChoice qpn rdm gr cs) = + PChoice qpn rdm gr <$> (W.traverseWithKey (goP qpn) $ fmap go cs) + go (FChoice qfn rdm gr t m d cs) = + FChoice qfn rdm gr t m d <$> (W.traverseWithKey (goF qfn) $ fmap go cs) + go (SChoice qsn rdm gr t cs) = + SChoice qsn rdm gr t <$> (W.traverseWithKey (goS qsn) $ fmap go cs) -- For the other nodes we just recurse - go (GoalChoiceF rdm cs) = GoalChoice rdm <$> T.sequence cs - go (DoneF revDepMap s) = return $ Done revDepMap s - go (FailF conflictSet failReason) = return $ Fail conflictSet failReason + go (GoalChoice rdm cs) = GoalChoice rdm <$> T.traverse go cs + go (Done revDepMap s) = return $ Done revDepMap s + go (Fail conflictSet failReason) = return $ Fail conflictSet failReason -- Package choices goP :: QPN -> POption -> Validate (Tree d c) -> Validate (Tree d c) diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Preference.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Preference.hs index d25ef84635670f8bb14b20b839b25c07ab37a613..fa0141f5767a9916900b0e552dff58146bd5da71 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Preference.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Preference.hs @@ -2,7 +2,7 @@ -- | Reordering or pruning the tree in order to prefer or make certain choices. module Distribution.Solver.Modular.Preference ( avoidReinstalls - , deferSetupChoices + , deferSetupExeChoices , deferWeakFlagChoices , enforceManualFlags , enforcePackageConstraints @@ -51,8 +51,8 @@ import qualified Distribution.Solver.Modular.WeightedPSQ as W -- children's versions, and package option. 'addWeights' prepends the new -- weights to the existing weights, which gives precedence to preferences that -- are applied later. -addWeights :: [PN -> [Ver] -> POption -> Weight] -> Tree d c -> Tree d c -addWeights fs = trav go +addWeights :: [PN -> [Ver] -> POption -> Weight] -> EndoTreeTrav d c +addWeights fs = go where go :: TreeF d c (Tree d c) -> TreeF d c (Tree d c) go (PChoiceF qpn@(Q _ pn) rdm x cs) = @@ -69,21 +69,21 @@ addWeights fs = trav go W.mapWeightsWithKey (\k w -> weights k ++ w) cs) go x = x -addWeight :: (PN -> [Ver] -> POption -> Weight) -> Tree d c -> Tree d c +addWeight :: (PN -> [Ver] -> POption -> Weight) -> EndoTreeTrav d c addWeight f = addWeights [f] version :: POption -> Ver version (POption (I v _) _) = v -- | Prefer to link packages whenever possible. -preferLinked :: Tree d c -> Tree d c +preferLinked :: EndoTreeTrav d c preferLinked = addWeight (const (const linked)) where linked (POption _ Nothing) = 1 linked (POption _ (Just _)) = 0 -- Works by setting weights on choice nodes. Also applies stanza preferences. -preferPackagePreferences :: (PN -> PackagePreferences) -> Tree d c -> Tree d c +preferPackagePreferences :: (PN -> PackagePreferences) -> EndoTreeTrav d c preferPackagePreferences pcs = preferPackageStanzaPreferences pcs . addWeights [ @@ -127,11 +127,18 @@ preferPackagePreferences pcs = -- | Traversal that tries to establish package stanza enable\/disable -- preferences. Works by reordering the branches of stanza choices. -preferPackageStanzaPreferences :: (PN -> PackagePreferences) -> Tree d c -> Tree d c -preferPackageStanzaPreferences pcs = trav go +-- Note that this works on packages lower in the path as well as at the top level. +-- This is because stanza preferences apply to local packages only +-- and for local packages, a single version is fixed, which means +-- (for now) that all stanza preferences must be uniform at all levels. +-- Further, even when we can have multiple versions of the same package, +-- the build plan will be more efficient if we can attempt to keep +-- stanza preferences aligned at all levels. +preferPackageStanzaPreferences :: (PN -> PackagePreferences) -> EndoTreeTrav d c +preferPackageStanzaPreferences pcs = go where - go (SChoiceF qsn@(SN (Q pp pn) s) rdm gr _tr ts) - | primaryPP pp && enableStanzaPref pn s = + go (SChoiceF qsn@(SN (Q _pp pn) s) rdm gr _tr ts) + | enableStanzaPref pn s = -- move True case first to try enabling the stanza let ts' = W.mapWeightsWithKey (\k w -> weight k : w) ts weight k = if k then 0 else 1 @@ -221,9 +228,8 @@ processPackageConstraintS qpn s c b' (LabeledPackageConstraint (PackageConstrain -- by selectively disabling choices that have been ruled out by global user -- constraints. enforcePackageConstraints :: M.Map PN [LabeledPackageConstraint] - -> Tree d c - -> Tree d c -enforcePackageConstraints pcs = trav go + -> EndoTreeTrav d c +enforcePackageConstraints pcs = go where go (PChoiceF qpn@(Q _ pn) rdm gr ts) = let c = varToConflictSet (P qpn) @@ -268,8 +274,8 @@ enforcePackageConstraints pcs = trav go -- -- This function does not enforce any of the constraints, since that is done by -- 'enforcePackageConstraints'. -enforceManualFlags :: M.Map PN [LabeledPackageConstraint] -> Tree d c -> Tree d c -enforceManualFlags pcs = trav go +enforceManualFlags :: M.Map PN [LabeledPackageConstraint] -> EndoTreeTrav d c +enforceManualFlags pcs = go where go (FChoiceF qfn@(FN (Q _ pn) fn) rdm gr tr Manual d ts) = FChoiceF qfn rdm gr tr Manual d $ @@ -295,8 +301,8 @@ enforceManualFlags pcs = trav go go x = x -- | Require installed packages. -requireInstalled :: (PN -> Bool) -> Tree d c -> Tree d c -requireInstalled p = trav go +requireInstalled :: (PN -> Bool) -> EndoTreeTrav d c +requireInstalled p = go where go (PChoiceF v@(Q _ pn) rdm gr cs) | p pn = PChoiceF v rdm gr (W.mapWithKey installed cs) @@ -319,8 +325,8 @@ requireInstalled p = trav go -- they are, perhaps this should just result in trying to reinstall those other -- packages as well. However, doing this all neatly in one pass would require to -- change the builder, or at least to change the goal set after building. -avoidReinstalls :: (PN -> Bool) -> Tree d c -> Tree d c -avoidReinstalls p = trav go +avoidReinstalls :: (PN -> Bool) -> EndoTreeTrav d c +avoidReinstalls p = go where go (PChoiceF qpn@(Q _ pn) rdm gr cs) | p pn = PChoiceF qpn rdm gr disableReinstalls @@ -337,8 +343,8 @@ avoidReinstalls p = trav go go x = x -- | Require all packages to be mentioned in a constraint or as a goal. -onlyConstrained :: (PN -> Bool) -> Tree d QGoalReason -> Tree d QGoalReason -onlyConstrained p = trav go +onlyConstrained :: (PN -> Bool) -> EndoTreeTrav d QGoalReason +onlyConstrained p = go where go (PChoiceF v@(Q _ pn) _ gr _) | not (p pn) = FailF @@ -348,8 +354,8 @@ onlyConstrained p = trav go = x -- | Sort all goals using the provided function. -sortGoals :: (Variable QPN -> Variable QPN -> Ordering) -> Tree d c -> Tree d c -sortGoals variableOrder = trav go +sortGoals :: (Variable QPN -> Variable QPN -> Ordering) -> EndoTreeTrav d c +sortGoals variableOrder = go where go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.sortByKeys goalOrder xs) go x = x @@ -365,8 +371,8 @@ sortGoals variableOrder = trav go -- | Reduce the branching degree of the search tree by removing all choices -- after the first successful choice at each level. The returned tree is the -- minimal subtree containing the path to the first backjump. -pruneAfterFirstSuccess :: Tree d c -> Tree d c -pruneAfterFirstSuccess = trav go +pruneAfterFirstSuccess :: EndoTreeTrav d c +pruneAfterFirstSuccess = go where go (PChoiceF qpn rdm gr ts) = PChoiceF qpn rdm gr (W.takeUntil active ts) go (FChoiceF qfn rdm gr w m d ts) = FChoiceF qfn rdm gr w m d (W.takeUntil active ts) @@ -379,8 +385,8 @@ pruneAfterFirstSuccess = trav go -- This is unnecessary for the default search strategy, because -- it descends only into the first goal choice anyway, -- but may still make sense to just reduce the tree size a bit. -firstGoal :: Tree d c -> Tree d c -firstGoal = trav go +firstGoal :: EndoTreeTrav d c +firstGoal = go where go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.firstOnly xs) go x = x @@ -390,8 +396,8 @@ firstGoal = trav go -- possible by pruning all other goals when base is available. In nearly -- all cases, there's a single choice for the base package. Also, fixing -- base early should lead to better error messages. -preferBaseGoalChoice :: Tree d c -> Tree d c -preferBaseGoalChoice = trav go +preferBaseGoalChoice :: EndoTreeTrav d c +preferBaseGoalChoice = go where go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.filterIfAnyByKeys isBase xs) go x = x @@ -400,23 +406,24 @@ preferBaseGoalChoice = trav go isBase (Goal (P (Q _pp pn)) _) = unPN pn == "base" isBase _ = False --- | Deal with setup dependencies after regular dependencies, so that we can --- will link setup dependencies against package dependencies when possible -deferSetupChoices :: Tree d c -> Tree d c -deferSetupChoices = trav go +-- | Deal with setup and build-tool-depends dependencies after regular dependencies, +-- so we will link setup/exe dependencies against package dependencies when possible +deferSetupExeChoices :: EndoTreeTrav d c +deferSetupExeChoices = go where - go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.preferByKeys noSetup xs) + go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.preferByKeys noSetupOrExe xs) go x = x - noSetup :: Goal QPN -> Bool - noSetup (Goal (P (Q (PackagePath _ns (QualSetup _)) _)) _) = False - noSetup _ = True + noSetupOrExe :: Goal QPN -> Bool + noSetupOrExe (Goal (P (Q (PackagePath _ns (QualSetup _)) _)) _) = False + noSetupOrExe (Goal (P (Q (PackagePath _ns (QualExe _ _)) _)) _) = False + noSetupOrExe _ = True -- | Transformation that tries to avoid making weak flag choices early. -- Weak flags are trivial flags (not influencing dependencies) or such -- flags that are explicitly declared to be weak in the index. -deferWeakFlagChoices :: Tree d c -> Tree d c -deferWeakFlagChoices = trav go +deferWeakFlagChoices :: EndoTreeTrav d c +deferWeakFlagChoices = go where go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.prefer noWeakFlag (P.prefer noWeakStanza xs)) go x = x @@ -435,8 +442,8 @@ deferWeakFlagChoices = trav go -- function prunes all other goals. This transformation can help the solver find -- a solution in fewer steps by allowing it to backtrack sooner when it is -- exploring a subtree with no solutions. However, each step is more expensive. -preferReallyEasyGoalChoices :: Tree d c -> Tree d c -preferReallyEasyGoalChoices = trav go +preferReallyEasyGoalChoices :: EndoTreeTrav d c +preferReallyEasyGoalChoices = go where go (GoalChoiceF rdm xs) = GoalChoiceF rdm (P.filterIfAny zeroOrOneChoices xs) go x = x @@ -454,15 +461,21 @@ type EnforceSIR = Reader (Map (PI PN) QPN) -- goal resolving to that instance (there may be other goals _linking_ to that -- instance however). enforceSingleInstanceRestriction :: Tree d c -> Tree d c -enforceSingleInstanceRestriction = (`runReader` M.empty) . cata go +enforceSingleInstanceRestriction = (`runReader` M.empty) . go where - go :: TreeF d c (EnforceSIR (Tree d c)) -> EnforceSIR (Tree d c) + go :: Tree d c -> EnforceSIR (Tree d c) -- We just verify package choices. - go (PChoiceF qpn rdm gr cs) = - PChoice qpn rdm gr <$> sequenceA (W.mapWithKey (goP qpn) cs) - go _otherwise = - innM _otherwise + go (PChoice qpn rdm gr cs) = + PChoice qpn rdm gr <$> sequenceA (W.mapWithKey (goP qpn) (fmap go cs)) + go (FChoice qfn rdm y t m d ts) = + FChoice qfn rdm y t m d <$> traverse go ts + go (SChoice qsn rdm y t ts) = + SChoice qsn rdm y t <$> traverse go ts + go (GoalChoice rdm ts) = + GoalChoice rdm <$> traverse go ts + go x@(Fail _ _) = return x + go x@(Done _ _) = return x -- The check proper goP :: QPN -> POption -> EnforceSIR (Tree d c) -> EnforceSIR (Tree d c) diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs index 83c597cd9e6029e7927473bc4a9cfdbbec3e3dd6..da5fa56963374a01d063952f72159712f6f4a8a6 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Solver.hs @@ -98,12 +98,20 @@ solve :: SolverConfig -- ^ solver parameters -> S.Set PN -- ^ global goals -> RetryLog Message SolverFailure (Assignment, RevDepMap) solve sc cinfo idx pkgConfigDB userPrefs userConstraints userGoals = - explorePhase $ - detectCycles $ - heuristicsPhase $ - preferencesPhase $ - validationPhase $ - prunePhase $ + explorePhase . + traceTree "cycles.json" id . + detectCycles . + traceTree "heuristics.json" id . + trav ( + heuristicsPhase . + preferencesPhase . + validationPhase + ) . + traceTree "semivalidated.json" id . + validationCata . + traceTree "pruned.json" id . + trav prunePhase . + traceTree "build.json" id $ buildPhase where explorePhase = backjumpAndExplore (maxBackjumps sc) @@ -111,27 +119,24 @@ solve sc cinfo idx pkgConfigDB userPrefs userConstraints userGoals = (fineGrainedConflicts sc) (countConflicts sc) idx - detectCycles = traceTree "cycles.json" id . detectCyclesPhase + detectCycles = detectCyclesPhase heuristicsPhase = - let heuristicsTree = traceTree "heuristics.json" id + let sortGoals = case goalOrder sc of Nothing -> goalChoiceHeuristics . - heuristicsTree . - P.deferSetupChoices . + P.deferSetupExeChoices . P.deferWeakFlagChoices . P.preferBaseGoalChoice Just order -> P.firstGoal . - heuristicsTree . - P.sortGoals order + P.sortGoals order PruneAfterFirstSuccess prune = pruneAfterFirstSuccess sc in sortGoals . (if prune then P.pruneAfterFirstSuccess else id) preferencesPhase = P.preferLinked . P.preferPackagePreferences userPrefs - validationPhase = traceTree "validated.json" id . - P.enforcePackageConstraints userConstraints . - P.enforceManualFlags userConstraints . - P.enforceSingleInstanceRestriction . + validationPhase = P.enforcePackageConstraints userConstraints . + P.enforceManualFlags userConstraints + validationCata = P.enforceSingleInstanceRestriction . validateLinking idx . validateTree cinfo idx pkgConfigDB prunePhase = (if asBool (avoidReinstalls sc) then P.avoidReinstalls (const True) else id) . @@ -143,8 +148,7 @@ solve sc cinfo idx pkgConfigDB userPrefs userConstraints userGoals = P.onlyConstrained pkgIsExplicit OnlyConstrainedNone -> id) - buildPhase = traceTree "build.json" id - $ buildTree idx (independentGoals sc) (S.toList userGoals) + buildPhase = buildTree idx (independentGoals sc) (S.toList userGoals) allExplicit = M.keysSet userConstraints `S.union` userGoals diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Tree.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Tree.hs index b28c0f8ff985c98e99c231211ed8a0516661f8f5..039da4b41b0ed0d92aea2b3c1b7a35cf96a077a9 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Tree.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Tree.hs @@ -14,6 +14,8 @@ module Distribution.Solver.Modular.Tree , trav , zeroOrOneChoices , active + , TreeTrav + , EndoTreeTrav ) where import Control.Monad hiding (mapM, sequence) @@ -187,7 +189,10 @@ zeroOrOneChoices (Fail _ _ ) = True cata :: (TreeF d c a -> a) -> Tree d c -> a cata phi x = (phi . fmap (cata phi) . out) x -trav :: (TreeF d c (Tree d a) -> TreeF d a (Tree d a)) -> Tree d c -> Tree d a +type TreeTrav d c a = TreeF d c (Tree d a) -> TreeF d a (Tree d a) +type EndoTreeTrav d c = TreeTrav d c c + +trav :: TreeTrav d c a -> Tree d c -> Tree d a trav psi x = cata (inn . psi) x -- | Paramorphism on trees. diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/Validate.hs b/cabal-install-solver/src/Distribution/Solver/Modular/Validate.hs index b809e4fbbda6fffef57004ed1afcebcd8e760a1a..db383c4ce22483a8246be783d5eadf6ca5550ac2 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/Validate.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/Validate.hs @@ -12,12 +12,9 @@ module Distribution.Solver.Modular.Validate (validateTree) where -- assignment returned by exploration of the tree should be a complete valid -- assignment, i.e., actually constitute a solution. -import Control.Applicative -import Control.Monad.Reader hiding (sequence) +import Control.Monad.Reader import Data.Either (lefts) import Data.Function (on) -import Data.Traversable -import Prelude hiding (sequence) import qualified Data.List as L import qualified Data.Set as S @@ -164,12 +161,12 @@ type VROrigin = (VR, ExposedComponent, DependencyReason QPN) type Conflict = (ConflictSet, FailReason) validate :: Tree d c -> Validate (Tree d c) -validate = cata go +validate = go where - go :: TreeF d c (Validate (Tree d c)) -> Validate (Tree d c) + go :: Tree d c -> Validate (Tree d c) - go (PChoiceF qpn rdm gr ts) = PChoice qpn rdm gr <$> sequence (W.mapWithKey (goP qpn) ts) - go (FChoiceF qfn rdm gr b m d ts) = + go (PChoice qpn rdm gr ts) = PChoice qpn rdm gr <$> W.traverseWithKey (\k -> goP qpn k . go) ts + go (FChoice qfn rdm gr b m d ts) = do -- Flag choices may occur repeatedly (because they can introduce new constraints -- in various places). However, subsequent choices must be consistent. We thereby @@ -178,26 +175,26 @@ validate = cata go case M.lookup qfn pfa of Just rb -> -- flag has already been assigned; collapse choice to the correct branch case W.lookup rb ts of - Just t -> goF qfn rb t + Just t -> goF qfn rb (go t) Nothing -> return $ Fail (varToConflictSet (F qfn)) (MalformedFlagChoice qfn) Nothing -> -- flag choice is new, follow both branches - FChoice qfn rdm gr b m d <$> sequence (W.mapWithKey (goF qfn) ts) - go (SChoiceF qsn rdm gr b ts) = + FChoice qfn rdm gr b m d <$> W.traverseWithKey (\k -> goF qfn k . go) ts + go (SChoice qsn rdm gr b ts) = do -- Optional stanza choices are very similar to flag choices. PA _ _ psa <- asks pa -- obtain current stanza-preassignment case M.lookup qsn psa of Just rb -> -- stanza choice has already been made; collapse choice to the correct branch case W.lookup rb ts of - Just t -> goS qsn rb t + Just t -> goS qsn rb (go t) Nothing -> return $ Fail (varToConflictSet (S qsn)) (MalformedStanzaChoice qsn) Nothing -> -- stanza choice is new, follow both branches - SChoice qsn rdm gr b <$> sequence (W.mapWithKey (goS qsn) ts) + SChoice qsn rdm gr b <$> W.traverseWithKey (\k -> goS qsn k . go) ts -- We don't need to do anything for goal choices or failure nodes. - go (GoalChoiceF rdm ts) = GoalChoice rdm <$> sequence ts - go (DoneF rdm s ) = pure (Done rdm s) - go (FailF c fr ) = pure (Fail c fr) + go (GoalChoice rdm ts) = GoalChoice rdm <$> traverse go ts + go (Done rdm s ) = pure (Done rdm s) + go (Fail c fr ) = pure (Fail c fr) -- What to do for package nodes ... goP :: QPN -> POption -> Validate (Tree d c) -> Validate (Tree d c) diff --git a/cabal-install-solver/src/Distribution/Solver/Modular/WeightedPSQ.hs b/cabal-install-solver/src/Distribution/Solver/Modular/WeightedPSQ.hs index 21216358ac531aed0224021bdbe7607f945e766e..ec9b242bda9af36acc1a59d5de7cb0905b99d879 100644 --- a/cabal-install-solver/src/Distribution/Solver/Modular/WeightedPSQ.hs +++ b/cabal-install-solver/src/Distribution/Solver/Modular/WeightedPSQ.hs @@ -1,5 +1,6 @@ {-# LANGUAGE DeriveFunctor, DeriveFoldable, DeriveTraversable #-} {-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TupleSections #-} module Distribution.Solver.Modular.WeightedPSQ ( WeightedPSQ , fromList @@ -11,6 +12,7 @@ module Distribution.Solver.Modular.WeightedPSQ ( , lookup , mapWithKey , mapWeightsWithKey + , traverseWithKey , union , takeUntil ) where @@ -72,6 +74,15 @@ mapWithKey :: (k -> v1 -> v2) -> WeightedPSQ w k v1 -> WeightedPSQ w k v2 mapWithKey f (WeightedPSQ xs) = WeightedPSQ $ L.map (\ (w, k, v) -> (w, k, f k v)) xs +-- | /O(N)/. Traverse and update values in some applicative functor. +traverseWithKey + :: Applicative f + => (k -> v -> f v') + -> WeightedPSQ w k v + -> f (WeightedPSQ w k v') +traverseWithKey f (WeightedPSQ q) = WeightedPSQ <$> + traverse (\(w,k,v) -> (w,k,) <$> f k v) q + -- | /O((N + M) log (N + M))/. Combine two @WeightedPSQ@s, preserving all -- elements. Elements from the first @WeightedPSQ@ come before elements in the -- second when they have the same weight. diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal index b0927b6c564914d0e45f430cce8cc3555b390063..cb7c9a77062c9b646d96f15d5678de2d6d80230d 100644 --- a/cabal-install/cabal-install.cabal +++ b/cabal-install/cabal-install.cabal @@ -1,7 +1,7 @@ Cabal-Version: 2.2 Name: cabal-install -Version: 3.6.0.0 +Version: 3.7.0.0 Synopsis: The command-line interface for Cabal and Hackage. Description: The \'cabal\' command-line program simplifies the process of managing @@ -49,10 +49,10 @@ common base-dep build-depends: base >=4.10 && <4.16 common cabal-dep - build-depends: Cabal ^>=3.6 + build-depends: Cabal ^>=3.7 common cabal-install-solver-dep - build-depends: cabal-install-solver ^>=3.6 + build-depends: cabal-install-solver ^>=3.7 library import: warnings, base-dep, cabal-dep, cabal-install-solver-dep diff --git a/cabal-install/changelog b/cabal-install/changelog index bf1f18f91533c8e19a6097e1fac2edb5f47bc10e..068a26db51042c5b90202213ffe8a8f91eac2435 100644 --- a/cabal-install/changelog +++ b/cabal-install/changelog @@ -1,4 +1,9 @@ -*-change-log-*- +3.6.0.0 Emily Pillmore <emilypi@cohomolo.gy> August 2021 + * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.6.0.0.md + +3.4.0.0 Oleg Grenrus <oleg.grenrus@iki.fi> February 2021 + * See https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md 3.2.0.0 Herbert Valerio Riedel <hvr@gnu.org> April 2020 * `v2-build` (and other `v2-`prefixed commands) now accept the diff --git a/cabal-install/src/Distribution/Client/CmdHaddock.hs b/cabal-install/src/Distribution/Client/CmdHaddock.hs index d179873f1271274caf6355c8cca7926cd62786c6..f7a26dfad89aee9de2076d05f526947b5495e040 100644 --- a/cabal-install/src/Distribution/Client/CmdHaddock.hs +++ b/cabal-install/src/Distribution/Client/CmdHaddock.hs @@ -24,15 +24,18 @@ import Distribution.Client.NixStyleOptions import Distribution.Client.Setup ( GlobalFlags, ConfigFlags(..) ) import Distribution.Simple.Setup - ( HaddockFlags(..), fromFlagOrDefault ) + ( HaddockFlags(..), fromFlagOrDefault, trueArg ) import Distribution.Simple.Command - ( CommandUI(..), usageAlternatives ) + ( CommandUI(..), usageAlternatives, ShowOrParseArgs, OptionField, option ) import Distribution.Verbosity ( normal ) import Distribution.Simple.Utils ( wrapText, die' ) +import Distribution.Simple.Flag (Flag(..)) -haddockCommand :: CommandUI (NixStyleFlags ()) +newtype ClientHaddockFlags = ClientHaddockFlags { openInBrowser :: Flag Bool } + +haddockCommand :: CommandUI (NixStyleFlags ClientHaddockFlags) haddockCommand = CommandUI { commandName = "v2-haddock", commandSynopsis = "Build Haddock documentation", @@ -58,20 +61,32 @@ haddockCommand = CommandUI { "Examples:\n" ++ " " ++ pname ++ " v2-haddock pkgname" ++ " Build documentation for the package named pkgname\n" - , commandOptions = nixStyleOptions (const []) - , commandDefaultFlags = defaultNixStyleFlags () + , commandOptions = nixStyleOptions haddockOptions + , commandDefaultFlags = defaultNixStyleFlags (ClientHaddockFlags (Flag False)) } --TODO: [nice to have] support haddock on specific components, not just -- whole packages and the silly --executables etc modifiers. +haddockOptions :: ShowOrParseArgs -> [OptionField ClientHaddockFlags] +haddockOptions _ = + [ option [] ["open"] "Open generated documentation in the browser" + openInBrowser (\v f -> f { openInBrowser = v}) trueArg + ] + -- | The @haddock@ command is TODO. -- -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" -- -haddockAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () +haddockAction :: NixStyleFlags ClientHaddockFlags -> [String] -> GlobalFlags -> IO () haddockAction flags@NixStyleFlags {..} targetStrings globalFlags = do - baseCtx <- establishProjectBaseContext verbosity cliConfig HaddockCommand + projCtx <- establishProjectBaseContext verbosity cliConfig HaddockCommand + + let baseCtx + | fromFlagOrDefault False (openInBrowser extraFlags) + = projCtx { buildSettings = (buildSettings projCtx) { buildSettingHaddockOpen = True } } + | otherwise + = projCtx targetSelectors <- either (reportTargetSelectorProblems verbosity) return =<< readTargetSelectors (localPackages baseCtx) Nothing targetStrings diff --git a/cabal-install/src/Distribution/Client/CmdRepl.hs b/cabal-install/src/Distribution/Client/CmdRepl.hs index 076010b9bcb914c053bfd869149e96160df5d283..989a8435a1e9c8e049f126da73609160533fc8ff 100644 --- a/cabal-install/src/Distribution/Client/CmdRepl.hs +++ b/cabal-install/src/Distribution/Client/CmdRepl.hs @@ -52,7 +52,7 @@ import qualified Distribution.Client.Setup as Client import Distribution.Client.Types ( PackageLocation(..), PackageSpecifier(..), UnresolvedSourcePackage ) import Distribution.Simple.Setup - ( fromFlagOrDefault, replOptions + ( fromFlagOrDefault, ReplOptions(..), replOptions , Flag(..), toFlag, falseArg ) import Distribution.Simple.Command ( CommandUI(..), liftOptionL, usageAlternatives, option @@ -111,8 +111,6 @@ import System.Directory import System.FilePath ( (</>) ) -type ReplFlags = [String] - data EnvFlags = EnvFlags { envPackages :: [Dependency] , envIncludeTransitive :: Flag Bool @@ -142,7 +140,7 @@ envOptions _ = ("couldn't parse dependencies: " ++) (parsecCommaList parsec) -replCommand :: CommandUI (NixStyleFlags (ReplFlags, EnvFlags)) +replCommand :: CommandUI (NixStyleFlags (ReplOptions, EnvFlags)) replCommand = Client.installCommand { commandName = "v2-repl", commandSynopsis = "Open an interactive session for the given component.", @@ -179,7 +177,7 @@ replCommand = Client.installCommand { ++ " add a version (constrained between 4.15 and 4.18) of the library 'lens' " ++ "to the default component (or no component if there is no project present)\n", - commandDefaultFlags = defaultNixStyleFlags ([], defaultEnvFlags), + commandDefaultFlags = defaultNixStyleFlags (mempty, defaultEnvFlags), commandOptions = nixStyleOptions $ \showOrParseArgs -> map (liftOptionL _1) (replOptions showOrParseArgs) ++ map (liftOptionL _2) (envOptions showOrParseArgs) @@ -196,7 +194,7 @@ replCommand = Client.installCommand { -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" -- -replAction :: NixStyleFlags (ReplFlags, EnvFlags) -> [String] -> GlobalFlags -> IO () +replAction :: NixStyleFlags (ReplOptions, EnvFlags) -> [String] -> GlobalFlags -> IO () replAction flags@NixStyleFlags { extraFlags = (replFlags, envFlags), ..} targetStrings globalFlags = do let with = withProject cliConfig verbosity targetStrings @@ -286,8 +284,9 @@ replAction flags@NixStyleFlags { extraFlags = (replFlags, envFlags), ..} targetS let buildCtx' = buildCtx { elaboratedShared = (elaboratedShared buildCtx) - { pkgConfigReplOptions = replFlags ++ replFlags'' } - } + { pkgConfigReplOptions = replFlags + { replOptionsFlags = (replOptionsFlags replFlags) ++ replFlags'' + } } } printPlan verbosity baseCtx' buildCtx' buildOutcomes <- runProjectBuildPhase verbosity baseCtx' buildCtx' @@ -415,7 +414,7 @@ addDepsToProjectTarget deps pkgId ctx = } addDeps spec = spec -generateReplFlags :: Bool -> ElaboratedInstallPlan -> OriginalComponentInfo -> ReplFlags +generateReplFlags :: Bool -> ElaboratedInstallPlan -> OriginalComponentInfo -> [String] generateReplFlags includeTransitive elaboratedPlan OriginalComponentInfo{..} = flags where exeDeps :: [UnitId] @@ -425,7 +424,7 @@ generateReplFlags includeTransitive elaboratedPlan OriginalComponentInfo{..} = f (InstallPlan.dependencyClosure elaboratedPlan [ociUnitId]) deps, deps', trans, trans' :: [UnitId] - flags :: ReplFlags + flags :: [String] deps = installedUnitId <$> InstallPlan.directDeps elaboratedPlan ociUnitId deps' = deps \\ ociOriginalDeps trans = installedUnitId <$> InstallPlan.dependencyClosure elaboratedPlan deps' diff --git a/cabal-install/src/Distribution/Client/Config.hs b/cabal-install/src/Distribution/Client/Config.hs index 90815035e8d0571efc4f32f9c21e619953087fb2..1c2df3dc713f49f0a041221041ffbd72387ee453 100644 --- a/cabal-install/src/Distribution/Client/Config.hs +++ b/cabal-install/src/Distribution/Client/Config.hs @@ -376,6 +376,7 @@ instance Semigroup SavedConfig where configScratchDir = combine configScratchDir, -- TODO: NubListify configExtraLibDirs = lastNonEmpty configExtraLibDirs, + configExtraLibDirsStatic = lastNonEmpty configExtraLibDirsStatic, -- TODO: NubListify configExtraFrameworkDirs = lastNonEmpty configExtraFrameworkDirs, -- TODO: NubListify @@ -1177,6 +1178,8 @@ parseConfig src initial = \str -> do (fromNubList $ configProgramPathExtra scf) , configExtraLibDirs = splitMultiPath (configExtraLibDirs scf) + , configExtraLibDirsStatic = splitMultiPath + (configExtraLibDirsStatic scf) , configExtraFrameworkDirs = splitMultiPath (configExtraFrameworkDirs scf) , configExtraIncludeDirs = splitMultiPath diff --git a/cabal-install/src/Distribution/Client/Dependency.hs b/cabal-install/src/Distribution/Client/Dependency.hs index 14025d74d8be52893f42c690665157c206d875ec..06308e002f09ea41befb32c66b0cc498bb01492f 100644 --- a/cabal-install/src/Distribution/Client/Dependency.hs +++ b/cabal-install/src/Distribution/Client/Dependency.hs @@ -14,6 +14,7 @@ ----------------------------------------------------------------------------- module Distribution.Client.Dependency ( -- * The main package dependency resolver + DepResolverParams, chooseSolver, resolveDependencies, Progress(..), @@ -464,6 +465,7 @@ removeBounds relKind relDeps params = depResolverSourcePkgIndex = sourcePkgIndex' } where + sourcePkgIndex' :: PackageIndex.PackageIndex UnresolvedSourcePackage sourcePkgIndex' = fmap relaxDeps $ depResolverSourcePkgIndex params relaxDeps :: UnresolvedSourcePackage -> UnresolvedSourcePackage @@ -735,6 +737,7 @@ resolveDependencies platform comp pkgConfigDB solver params = then params else dontUpgradeNonUpgradeablePackages params + preferences :: PackageName -> PackagePreferences preferences = interpretPackagesPreference targets defpref prefs @@ -750,12 +753,14 @@ interpretPackagesPreference selected defaultPref prefs = (installPref pkgname) (stanzasPref pkgname) where + versionPref :: PackageName -> [VersionRange] versionPref pkgname = fromMaybe [anyVersion] (Map.lookup pkgname versionPrefs) versionPrefs = Map.fromListWith (++) [(pkgname, [pref]) | PackageVersionPreference pkgname pref <- prefs] + installPref :: PackageName -> InstalledPreference installPref pkgname = fromMaybe (installPrefDefault pkgname) (Map.lookup pkgname installPrefs) installPrefs = Map.fromList @@ -770,6 +775,7 @@ interpretPackagesPreference selected defaultPref prefs = if pkgname `Set.member` selected then PreferLatest else PreferInstalled + stanzasPref :: PackageName -> [OptionalStanza] stanzasPref pkgname = fromMaybe [] (Map.lookup pkgname stanzasPrefs) stanzasPrefs = Map.fromListWith (\a b -> nub (a ++ b)) @@ -797,9 +803,12 @@ validateSolverResult platform comp indepGoals pkgs = problems -> error (formatPkgProblems problems) where + graph :: Graph.Graph (ResolverPackage UnresolvedPkgLoc) graph = Graph.fromDistinctList pkgs + formatPkgProblems :: [PlanPackageProblem] -> String formatPkgProblems = formatProblemMessage . map showPlanPackageProblem + formatPlanProblems :: [SolverInstallPlan.SolverPlanProblem] -> String formatPlanProblems = formatProblemMessage . map SolverInstallPlan.showPlanProblem formatProblemMessage problems = @@ -894,6 +903,7 @@ configuredPackageProblems platform cinfo , not (packageSatisfiesDependency pkgid dep) ] -- TODO: sanity tests on executable deps where + thisPkgName :: PackageName thisPkgName = packageName (srcpkgDescription pkg) specifiedDeps1 :: ComponentDeps [PackageId] @@ -902,10 +912,12 @@ configuredPackageProblems platform cinfo specifiedDeps :: [PackageId] specifiedDeps = CD.flatDeps specifiedDeps1 + mergedFlags :: [MergeResult PD.FlagName PD.FlagName] mergedFlags = mergeBy compare (sort $ map PD.flagName (PD.genPackageFlags (srcpkgDescription pkg))) (sort $ map fst (PD.unFlagAssignment specifiedFlags)) -- TODO + packageSatisfiesDependency :: PackageIdentifier -> Dependency -> Bool packageSatisfiesDependency (PackageIdentifier name version) (Dependency name' versionRange _) = assert (name == name') $ @@ -991,7 +1003,9 @@ resolveWithoutDependencies (DepResolverParams targets constraints where -- Constraints + requiredVersions :: VersionRange requiredVersions = packageConstraints pkgname + choices :: [UnresolvedSourcePackage] choices = PackageIndex.lookupDependency sourcePkgIndex pkgname requiredVersions @@ -1000,20 +1014,24 @@ resolveWithoutDependencies (DepResolverParams targets constraints PackagePreferences preferredVersions preferInstalled _ = packagePreferences pkgname + bestByPrefs :: UnresolvedSourcePackage -> UnresolvedSourcePackage -> Ordering bestByPrefs = comparing $ \pkg -> (installPref pkg, versionPref pkg, packageVersion pkg) + installPref :: UnresolvedSourcePackage -> Bool installPref = case preferInstalled of PreferLatest -> const False PreferInstalled -> not . null . InstalledPackageIndex.lookupSourcePackageId installedPkgIndex . packageId + versionPref :: Package a => a -> Int versionPref pkg = length . filter (packageVersion pkg `withinRange`) $ preferredVersions packageConstraints :: PackageName -> VersionRange packageConstraints pkgname = Map.findWithDefault anyVersion pkgname packageVersionConstraintMap + packageVersionConstraintMap :: Map PackageName VersionRange packageVersionConstraintMap = let pcs = map unlabelPackageConstraint constraints in Map.fromList [ (scopeToPackageName scope, range) diff --git a/cabal-install/src/Distribution/Client/Fetch.hs b/cabal-install/src/Distribution/Client/Fetch.hs index 21d531800073b6949dfc59fe582377e0c8609b01..8e9496c8dc65408ada658d73a05b6ce5e23dc36a 100644 --- a/cabal-install/src/Distribution/Client/Fetch.hs +++ b/cabal-install/src/Distribution/Client/Fetch.hs @@ -147,6 +147,7 @@ planPackages verbosity comp platform fetchFlags resolveWithoutDependencies resolverParams where + resolverParams :: DepResolverParams resolverParams = setMaxBackjumps (if maxBackjumps < 0 then Nothing diff --git a/cabal-install/src/Distribution/Client/FetchUtils.hs b/cabal-install/src/Distribution/Client/FetchUtils.hs index b087867f5d0d7a93c583da06873a4a347c06a0b4..e632147d589a64c0b686f857f4168f9a0ac3c25c 100644 --- a/cabal-install/src/Distribution/Client/FetchUtils.hs +++ b/cabal-install/src/Distribution/Client/FetchUtils.hs @@ -146,6 +146,7 @@ fetchPackage verbosity repoCtxt loc = case loc of RemoteSourceRepoPackage _repo Nothing -> die' verbosity "fetchPackage: source repos not supported" where + downloadTarballPackage :: URI -> IO FilePath downloadTarballPackage uri = do transport <- repoContextGetTransport repoCtxt transportCheckHttps verbosity transport uri @@ -173,6 +174,7 @@ fetchRepoTarball verbosity' repoCtxt repo pkgid = do -- whether we download or not is non-deterministic verbosity = verboseUnmarkOutput verbosity' + downloadRepoPackage :: IO FilePath downloadRepoPackage = case repo of RepoLocalNoIndex{} -> return (packageFile repo pkgid) diff --git a/cabal-install/src/Distribution/Client/Freeze.hs b/cabal-install/src/Distribution/Client/Freeze.hs index 1856ddad12e33a3364c8791eda16fbc59fef1c5b..4b4ea1f31df8494c06201de452ae04869730a0ee 100644 --- a/cabal-install/src/Distribution/Client/Freeze.hs +++ b/cabal-install/src/Distribution/Client/Freeze.hs @@ -121,6 +121,7 @@ getFreezePkgs verbosity packageDBs repoCtxt comp platform progdb verbosity comp platform freezeFlags installedPkgIndex sourcePkgDb pkgConfigDb pkgSpecifiers where + sanityCheck :: [PackageSpecifier UnresolvedSourcePackage] -> IO () sanityCheck pkgSpecifiers = do when (not . null $ [n | n@(NamedPackage _ _) <- pkgSpecifiers]) $ die' verbosity $ "internal error: 'resolveUserTargets' returned " @@ -154,6 +155,7 @@ planPackages verbosity comp platform freezeFlags return $ pruneInstallPlan installPlan pkgSpecifiers where + resolverParams :: DepResolverParams resolverParams = setMaxBackjumps (if maxBackjumps < 0 then Nothing diff --git a/cabal-install/src/Distribution/Client/HttpUtils.hs b/cabal-install/src/Distribution/Client/HttpUtils.hs index 6de14f3c6617ebcc84b0cbc30a402c2268d1a8c0..e5708c87d0c860062aca0747881ae9f37dde8868 100644 --- a/cabal-install/src/Distribution/Client/HttpUtils.hs +++ b/cabal-install/src/Distribution/Client/HttpUtils.hs @@ -143,6 +143,7 @@ downloadURI transport verbosity uri path = do NeedsDownload hash -> makeDownload transport' hash Nothing where + makeDownload :: HttpTransport -> Maybe BS8.ByteString -> Maybe String -> IO DownloadResult makeDownload transport' sha256 etag = withTempFileName (takeDirectory path) (takeFileName path) $ \tmpFile -> do result <- getHttp transport' verbosity uri etag tmpFile [] diff --git a/cabal-install/src/Distribution/Client/Init/FlagExtractors.hs b/cabal-install/src/Distribution/Client/Init/FlagExtractors.hs index a75832a9421d118935a0e5f2633558fbc20843d0..9c95de9c6a958f6634e0bcc06ec598977cb1844e 100644 --- a/cabal-install/src/Distribution/Client/Init/FlagExtractors.hs +++ b/cabal-install/src/Distribution/Client/Init/FlagExtractors.hs @@ -34,6 +34,7 @@ module Distribution.Client.Init.FlagExtractors , initializeTestSuitePrompt , packageTypePrompt , testMainPrompt +, dependenciesPrompt ) where @@ -56,6 +57,8 @@ import Distribution.Simple.Flag (flagElim) import Language.Haskell.Extension (Language(..), Extension(..)) import Distribution.Client.Init.Prompt import qualified Data.Set as Set +import Distribution.Simple.PackageIndex +import Distribution.Client.Init.Utils @@ -249,7 +252,7 @@ packageTypePrompt flags = getPackageType flags $ do "Library" -> Just Library "Executable" -> Just Executable "Library and Executable" -> Just LibraryAndExecutable - "Test suite" -> Just TestSuite + "Test suite" -> Just TestSuite _ -> Nothing testMainPrompt :: Interactive m => m HsFilePath @@ -274,6 +277,13 @@ testMainPrompt = do where defaultMainIs' = show defaultMainIs +dependenciesPrompt + :: Interactive m + => InstalledPackageIndex + -> InitFlags + -> m [Dependency] +dependenciesPrompt pkgIx flags = getDependencies flags (getBaseDep pkgIx flags) + -- -------------------------------------------------------------------- -- -- utilities diff --git a/cabal-install/src/Distribution/Client/Init/Format.hs b/cabal-install/src/Distribution/Client/Init/Format.hs index aef0138384f90f1dd74f78feebe54191e59f6d96..6b1150f1e9ac2c9381f794cf093661bba047c8c6 100644 --- a/cabal-install/src/Distribution/Client/Init/Format.hs +++ b/cabal-install/src/Distribution/Client/Init/Format.hs @@ -239,7 +239,15 @@ mkTestStanza opts (TestTarget testMain dirs lang otherMods exts deps tools) = mkPkgDescription :: WriteOpts -> PkgDescription -> [PrettyField FieldAnnotation] mkPkgDescription opts pkgDesc = - [ field "cabal-version" text (showCabalSpecVersion cabalSpec) [] False opts + [ field "cabal-version" text (showCabalSpecVersion cabalSpec) + [ "The cabal-version field refers to the version of the .cabal specification," + , "and can be different from the cabal-install (the tool) version and the" + , "Cabal (the library) version you are using. As such, the Cabal (the library)" + , "version used must be equal or greater than the version stated in this field." + ] + False + opts + , field "name" pretty (_pkgName pkgDesc) ["Initial package description '" ++ prettyShow (_optPkgName opts) ++ "' generated by" , "'cabal init'. For further documentation, see:" diff --git a/cabal-install/src/Distribution/Client/Init/Interactive/Command.hs b/cabal-install/src/Distribution/Client/Init/Interactive/Command.hs index 09cd1b946b09f6963241af4f452d93739074280a..73c23db91d274839013c96833917d1f9988f9673 100644 --- a/cabal-install/src/Distribution/Client/Init/Interactive/Command.hs +++ b/cabal-install/src/Distribution/Client/Init/Interactive/Command.hs @@ -46,7 +46,6 @@ import Distribution.Client.Compat.Prelude hiding (putStr, putStrLn, getLine, las import Distribution.CabalSpecVersion (CabalSpecVersion(..), showCabalSpecVersion) import Distribution.Version (Version) -import Distribution.Types.Dependency (Dependency(..)) import Distribution.Types.PackageName (PackageName, unPackageName) import qualified Distribution.SPDX as SPDX import Distribution.Client.Init.Defaults @@ -58,7 +57,6 @@ import Distribution.Simple.Setup (Flag(..)) import Distribution.Simple.PackageIndex (InstalledPackageIndex) import Distribution.Client.Types (SourcePackageDb(..)) import Distribution.Solver.Types.PackageIndex (elemByPackageName) -import Distribution.Verbosity import Language.Haskell.Extension (Language(..)) @@ -461,11 +459,3 @@ srcDirsPrompt flags = getSrcDirs flags $ do True return [dir] - -dependenciesPrompt - :: Interactive m - => InstalledPackageIndex - -> InitFlags - -> m [Dependency] -dependenciesPrompt pkgIx flags = getDependencies flags $ - retrieveDependencies silent flags [(fromString "Prelude", fromString "Prelude")] pkgIx diff --git a/cabal-install/src/Distribution/Client/Init/Simple.hs b/cabal-install/src/Distribution/Client/Init/Simple.hs index 97962509c746e62e206eff003cf91d67217aa0ff..562e6d34b9fa52e654666b9f7b74ce253692f592 100644 --- a/cabal-install/src/Distribution/Client/Init/Simple.hs +++ b/cabal-install/src/Distribution/Client/Init/Simple.hs @@ -16,9 +16,11 @@ import Distribution.Client.Types.SourcePackageDb (SourcePackageDb(..)) import qualified Data.List.NonEmpty as NEL import Distribution.Client.Init.Utils (currentDirPkgName, mkPackageNameDep, fixupDocFiles) import Distribution.Client.Init.Defaults -import Distribution.Simple.Flag (fromFlagOrDefault, flagElim) +import Distribution.Simple.Flag (fromFlagOrDefault, flagElim, Flag(..)) import Distribution.Client.Init.FlagExtractors import qualified Data.Set as Set +import Distribution.Types.Dependency +import Distribution.Types.PackageName (unPackageName) createProject @@ -28,7 +30,7 @@ createProject -> SourcePackageDb -> InitFlags -> m ProjectSettings -createProject v _pkgIx _srcDb initFlags = do +createProject v pkgIx _srcDb initFlags = do pkgType <- packageTypePrompt initFlags isMinimal <- getMinimal initFlags doOverwrite <- getOverwrite initFlags @@ -41,30 +43,32 @@ createProject v _pkgIx _srcDb initFlags = do doOverwrite isMinimal cs v pkgDir pkgType pkgName + basedFlags <- addBaseDepToFlags pkgIx initFlags + case pkgType of Library -> do - libTarget <- genSimpleLibTarget initFlags - testTarget <- addLibDepToTest pkgName <$> genSimpleTestTarget initFlags + libTarget <- genSimpleLibTarget basedFlags + testTarget <- addLibDepToTest pkgName <$> genSimpleTestTarget basedFlags return $ ProjectSettings (mkOpts False cabalSpec) pkgDesc (Just libTarget) Nothing testTarget Executable -> do - exeTarget <- genSimpleExeTarget initFlags + exeTarget <- genSimpleExeTarget basedFlags return $ ProjectSettings (mkOpts False cabalSpec) pkgDesc Nothing (Just exeTarget) Nothing LibraryAndExecutable -> do - libTarget <- genSimpleLibTarget initFlags - testTarget <- addLibDepToTest pkgName <$> genSimpleTestTarget initFlags - exeTarget <- addLibDepToExe pkgName <$> genSimpleExeTarget initFlags + libTarget <- genSimpleLibTarget basedFlags + testTarget <- addLibDepToTest pkgName <$> genSimpleTestTarget basedFlags + exeTarget <- addLibDepToExe pkgName <$> genSimpleExeTarget basedFlags return $ ProjectSettings (mkOpts False cabalSpec) pkgDesc (Just libTarget) (Just exeTarget) testTarget - + TestSuite -> do - testTarget <- genSimpleTestTarget initFlags + testTarget <- genSimpleTestTarget basedFlags return $ ProjectSettings (mkOpts False cabalSpec) pkgDesc Nothing Nothing testTarget @@ -151,3 +155,21 @@ genSimpleTestTarget flags = go =<< initializeTestSuitePrompt flags , _testDependencies = fromFlagOrDefault [] $ dependencies flags , _testBuildTools = buildToolDeps } + +-- -------------------------------------------------------------------- -- +-- Utils + +-- | If deps are defined, and base is present, we skip the search for base. +-- otherwise, we look up @base@ and add it to the list. +addBaseDepToFlags :: Interactive m => InstalledPackageIndex -> InitFlags -> m InitFlags +addBaseDepToFlags pkgIx initFlags = case dependencies initFlags of + Flag as + | any ((==) "base" . unPackageName . depPkgName) as -> return initFlags + | otherwise -> do + based <- dependenciesPrompt pkgIx initFlags + return $ initFlags + { dependencies = Flag $ based ++ as + } + _ -> do + based <- dependenciesPrompt pkgIx initFlags + return initFlags { dependencies = Flag based } diff --git a/cabal-install/src/Distribution/Client/Init/Utils.hs b/cabal-install/src/Distribution/Client/Init/Utils.hs index b3ae305293d1ef67802757c53a3e4438a370e291..fbcdf5916cfe9d54f468fdfbd414f00c1b7beaea 100644 --- a/cabal-install/src/Distribution/Client/Init/Utils.hs +++ b/cabal-install/src/Distribution/Client/Init/Utils.hs @@ -17,6 +17,7 @@ module Distribution.Client.Init.Utils , mkPackageNameDep , fixupDocFiles , mkStringyDep +, getBaseDep ) where @@ -46,6 +47,7 @@ import Distribution.Types.PackageName import Distribution.Types.Dependency (Dependency, mkDependency) import qualified Distribution.Compat.NonEmptySet as NES import Distribution.Types.LibraryName +import Distribution.Verbosity (silent) -- |Data type of source files found in the working directory @@ -307,3 +309,8 @@ fixupDocFiles v pkgDesc mkStringyDep :: String -> Dependency mkStringyDep = mkPackageNameDep . mkPackageName + + +getBaseDep :: Interactive m => InstalledPackageIndex -> InitFlags -> m [Dependency] +getBaseDep pkgIx flags = retrieveDependencies silent flags + [(fromString "Prelude", fromString "Prelude")] pkgIx diff --git a/cabal-install/src/Distribution/Client/ProjectBuilding.hs b/cabal-install/src/Distribution/Client/ProjectBuilding.hs index f11d14913db1d83b3bbd492a3e6e64c55803970b..dba81b09b17adbb8af039b4a5350baddd851171e 100644 --- a/cabal-install/src/Distribution/Client/ProjectBuilding.hs +++ b/cabal-install/src/Distribution/Client/ProjectBuilding.hs @@ -68,7 +68,7 @@ import Distribution.Client.Setup import Distribution.Client.SourceFiles import Distribution.Client.SrcDist (allPackageSourceFiles) import Distribution.Client.Utils - ( ProgressPhase(..), progressMessage, removeExistingFile ) + ( ProgressPhase(..), findOpenProgramLocation, progressMessage, removeExistingFile ) import Distribution.Compat.Lens import Distribution.Package @@ -230,6 +230,7 @@ rebuildTargetsDryRun distDirLayout@DistDirLayout{..} shared = then dryRunLocalPkg pkg depsBuildStatus srcdir else return (BuildStatusUnpack tarball) where + srcdir :: FilePath srcdir = distUnpackedSrcDirectory (packageId pkg) dryRunLocalPkg :: ElaboratedConfiguredPackage @@ -250,6 +251,7 @@ rebuildTargetsDryRun distDirLayout@DistDirLayout{..} shared = Right buildResult -> return (BuildStatusUpToDate buildResult) where + packageFileMonitor :: PackageFileMonitor packageFileMonitor = newPackageFileMonitor shared distDirLayout (elabDistDirParams shared pkg) @@ -295,6 +297,7 @@ improveInstallPlanWithUpToDatePackages :: BuildStatusMap improveInstallPlanWithUpToDatePackages pkgsBuildStatus = InstallPlan.installed canPackageBeImproved where + canPackageBeImproved :: ElaboratedConfiguredPackage -> Bool canPackageBeImproved pkg = case Map.lookup (installedUnitId pkg) pkgsBuildStatus of Just BuildStatusUpToDate {} -> True @@ -376,6 +379,13 @@ packageFileMonitorKeyValues elab = -- do not affect the configure step need to be nulled out. Those parts are -- the specific targets that we're going to build. -- + + -- Additionally we null out the parts that don't affect the configure step because they're simply + -- about how tests or benchmarks are run + + -- TODO there may be more things to null here too, in the future. + + elab_config :: ElaboratedConfiguredPackage elab_config = elab { elabBuildTargets = [], @@ -383,13 +393,21 @@ packageFileMonitorKeyValues elab = elabBenchTargets = [], elabReplTarget = Nothing, elabHaddockTargets = [], - elabBuildHaddocks = False + elabBuildHaddocks = False, + + elabTestMachineLog = Nothing, + elabTestHumanLog = Nothing, + elabTestShowDetails = Nothing, + elabTestKeepTix = False, + elabTestTestOptions = [], + elabBenchmarkOptions = [] } -- The second part is the value used to guard the build step. So this is -- more or less the opposite of the first part, as it's just the info about -- what targets we're going to build. -- + buildComponents :: Set ComponentName buildComponents = elabBuildTargetWholeComponents elab -- | Do all the checks on whether a package has changed and thus needs either @@ -464,6 +482,7 @@ checkPackageFileMonitorChanged PackageFileMonitor{..} (docsResult, testsResult) = buildResult where (pkgconfig, buildComponents) = packageFileMonitorKeyValues pkg + changedToMaybe :: MonitorChanged a b -> Maybe b changedToMaybe (MonitorChanged _) = Nothing changedToMaybe (MonitorUnchanged x _) = Just x @@ -681,6 +700,7 @@ rebuildTarget verbosity where unexpectedState = error "rebuildTarget: unexpected package status" + downloadPhase :: IO BuildResult downloadPhase = do downsrcloc <- annotateFailureNoLog DownloadFailed $ waitAsyncPackageDownload verbosity downloadMap pkg @@ -888,6 +908,7 @@ unpackPackageTarball verbosity tarball parentdir pkgid pkgTextOverride = writeFileAtomic cabalFile pkgtxt where + cabalFile :: FilePath cabalFile = parentdir </> pkgsubdir </> prettyShow pkgname <.> "cabal" pkgsubdir = prettyShow pkgid @@ -1081,12 +1102,14 @@ buildAndInstallUnpackedPackage verbosity uid = installedUnitId rpkg compid = compilerId compiler + dispname :: String dispname = case elabPkgOrComp pkg of ElabPackage _ -> prettyShow pkgid ++ " (all, legacy fallback)" ElabComponent comp -> prettyShow pkgid ++ " (" ++ maybe "custom" prettyShow (compComponentName comp) ++ ")" + noticeProgress :: ProgressPhase -> IO () noticeProgress phase = when isParallelBuild $ progressMessage verbosity phase dispname @@ -1201,11 +1224,12 @@ buildInplaceUnpackedPackage verbosity distPackageCacheDirectory, distDirectory } - BuildTimeSettings{buildSettingNumJobs} + BuildTimeSettings{buildSettingNumJobs, buildSettingHaddockOpen} registerLock cacheLock pkgshared@ElaboratedSharedConfig { pkgConfigCompiler = compiler, - pkgConfigCompilerProgs = progdb + pkgConfigCompilerProgs = progdb, + pkgConfigPlatform = platform } plan rpkg@(ReadyPackage pkg) @@ -1321,6 +1345,17 @@ buildInplaceUnpackedPackage verbosity Tar.createTarGzFile dest docDir name notice verbosity $ "Documentation tarball created: " ++ dest + when (buildSettingHaddockOpen && haddockTarget /= Cabal.ForHackage) $ do + let dest = docDir </> name </> "index.html" + name = haddockDirName haddockTarget (elabPkgDescription pkg) + docDir = distBuildDirectory distDirLayout dparams + </> "doc" </> "html" + exe <- findOpenProgramLocation platform + case exe of + Right open -> runProgramInvocation verbosity (simpleProgramInvocation open [dest]) + Left err -> die' verbosity err + + return BuildResult { buildResultDocs = docsResult, buildResultTests = testsResult, @@ -1455,6 +1490,7 @@ withTempInstalledPackageInfoFile verbosity tempdir action = "Couldn't parse the output of 'setup register --gen-pkg-config':" ++ show perror + readPkgConf :: FilePath -> FilePath -> IO InstalledPackageInfo readPkgConf pkgConfDir pkgConfFile = do pkgConfStr <- BS.readFile (pkgConfDir </> pkgConfFile) (warns, ipkg) <- case Installed.parseInstalledPackageInfo pkgConfStr of diff --git a/cabal-install/src/Distribution/Client/ProjectConfig.hs b/cabal-install/src/Distribution/Client/ProjectConfig.hs index 8835ee27c07ee6fba7bb15c35e4dc1ff5b17a73a..17c0435035d7b4ca54695800696dab26439e5352 100644 --- a/cabal-install/src/Distribution/Client/ProjectConfig.hs +++ b/cabal-install/src/Distribution/Client/ProjectConfig.hs @@ -324,6 +324,7 @@ resolveBuildTimeSettings verbosity buildSettingReportPlanningFailure = fromFlag projectConfigReportPlanningFailure buildSettingProgPathExtra = fromNubList projectConfigProgPathExtra + buildSettingHaddockOpen = False ProjectConfigBuildOnly{..} = defaults <> projectConfigBuildOnly diff --git a/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs b/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs index d6f3924df85d981a71384b72ace5d5a01ebf5c2c..0aca7ac2a4a77a4e14c0b6f829fac5b164ad133f 100644 --- a/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs +++ b/cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs @@ -428,6 +428,7 @@ convertLegacyPerPackageFlags configFlags installFlags configStripExes = packageConfigStripExes, configStripLibs = packageConfigStripLibs, configExtraLibDirs = packageConfigExtraLibDirs, + configExtraLibDirsStatic = packageConfigExtraLibDirsStatic, configExtraFrameworkDirs = packageConfigExtraFrameworkDirs, configExtraIncludeDirs = packageConfigExtraIncludeDirs, configConfigurationsFlags = packageConfigFlagAssignment, @@ -705,6 +706,7 @@ convertToLegacyAllPackageConfig configStripExes = mempty, configStripLibs = mempty, configExtraLibDirs = mempty, + configExtraLibDirsStatic = mempty, configExtraFrameworkDirs = mempty, configConstraints = mempty, configDependencies = mempty, @@ -777,6 +779,7 @@ convertToLegacyPerPackageConfig PackageConfig {..} = configStripExes = packageConfigStripExes, configStripLibs = packageConfigStripLibs, configExtraLibDirs = packageConfigExtraLibDirs, + configExtraLibDirsStatic = packageConfigExtraLibDirsStatic, configExtraFrameworkDirs = packageConfigExtraFrameworkDirs, configConstraints = mempty, configDependencies = mempty, @@ -1060,6 +1063,10 @@ legacyPackageConfigFieldDescrs = showTokenQ parseTokenQ configExtraLibDirs (\v conf -> conf { configExtraLibDirs = v }) + , newLineListField "extra-lib-dirs-static" + showTokenQ parseTokenQ + configExtraLibDirsStatic + (\v conf -> conf { configExtraLibDirsStatic = v }) , newLineListField "extra-framework-dirs" showTokenQ parseTokenQ configExtraFrameworkDirs diff --git a/cabal-install/src/Distribution/Client/ProjectConfig/Types.hs b/cabal-install/src/Distribution/Client/ProjectConfig/Types.hs index aaa25df9eaa9fb12e5b58907cb0098e02ed7a58d..92850b27925910aed7691a031ba577bd566e8c37 100644 --- a/cabal-install/src/Distribution/Client/ProjectConfig/Types.hs +++ b/cabal-install/src/Distribution/Client/ProjectConfig/Types.hs @@ -258,6 +258,7 @@ data PackageConfig packageConfigProgPrefix :: Flag PathTemplate, packageConfigProgSuffix :: Flag PathTemplate, packageConfigExtraLibDirs :: [FilePath], + packageConfigExtraLibDirsStatic :: [FilePath], packageConfigExtraFrameworkDirs :: [FilePath], packageConfigExtraIncludeDirs :: [FilePath], packageConfigGHCiLib :: Flag Bool, @@ -456,5 +457,6 @@ data BuildTimeSettings buildSettingCacheDir :: FilePath, buildSettingHttpTransport :: Maybe String, buildSettingIgnoreExpiry :: Bool, - buildSettingProgPathExtra :: [FilePath] + buildSettingProgPathExtra :: [FilePath], + buildSettingHaddockOpen :: Bool } diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs index 077c6422be4f9dab90be2ee3252e29d17c3e24f3..4113f5f1fb14df80590c60270bdd566c5a3ffcff 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs @@ -338,10 +338,12 @@ rebuildProjectConfig verbosity ProjectConfigShared { projectConfigConfigFile } = projectConfigShared cliConfig + fileMonitorProjectConfig :: + FileMonitor + (FilePath, FilePath) + (ProjectConfig, [PackageSpecifier UnresolvedSourcePackage]) fileMonitorProjectConfig = - newFileMonitor (distProjectCacheFile "config") :: FileMonitor - (FilePath, FilePath) - (ProjectConfig, [PackageSpecifier UnresolvedSourcePackage]) + newFileMonitor (distProjectCacheFile "config") -- Read the cabal.project (or implicit config) and combine it with -- arguments from the command line @@ -964,6 +966,7 @@ planPackages verbosity comp platform solver SolverSettings{..} --TODO: [nice to have] disable multiple instances restriction in -- the solver, but then make sure we can cope with that in the -- output. + resolverParams :: DepResolverParams resolverParams = setMaxBackjumps solverSettingMaxBackjumps @@ -1024,13 +1027,14 @@ planPackages verbosity comp platform solver SolverSettings{..} | (pc, src) <- solverSettingConstraints ] . addPreferences - -- enable stanza preference where the user did not specify + -- enable stanza preference unilaterally, regardless if the user asked + -- accordingly or expressed no preference, to help hint the solver [ PackageStanzasPreference pkgname stanzas | pkg <- localPackages , let pkgname = pkgSpecifierTarget pkg stanzaM = Map.findWithDefault Map.empty pkgname pkgStanzasEnable stanzas = [ stanza | stanza <- [minBound..maxBound] - , Map.lookup stanza stanzaM == Nothing ] + , Map.lookup stanza stanzaM /= Just False ] , not (null stanzas) ] @@ -1073,6 +1077,7 @@ planPackages verbosity comp platform solver SolverSettings{..} $ stdResolverParams + stdResolverParams :: DepResolverParams stdResolverParams = -- Note: we don't use the standardInstallPolicy here, since that uses -- its own addDefaultSetupDependencies that is not appropriate for us. @@ -1282,9 +1287,10 @@ elaborateInstallPlan verbosity platform compiler compilerprogdb pkgConfigDB pkgConfigPlatform = platform, pkgConfigCompiler = compiler, pkgConfigCompilerProgs = compilerprogdb, - pkgConfigReplOptions = [] + pkgConfigReplOptions = mempty } + preexistingInstantiatedPkgs :: Map UnitId FullUnitId preexistingInstantiatedPkgs = Map.fromList (mapMaybe f (SolverInstallPlan.toList solverPlan)) where @@ -1296,6 +1302,8 @@ elaborateInstallPlan verbosity platform compiler compilerprogdb pkgConfigDB (Map.fromList (IPI.instantiatedWith ipkg)))) f _ = Nothing + elaboratedInstallPlan :: + LogProgress (InstallPlan.GenericInstallPlan IPI.InstalledPackageInfo ElaboratedConfiguredPackage) elaboratedInstallPlan = flip InstallPlan.fromSolverInstallPlanWithProgress solverPlan $ \mapDep planpkg -> case planpkg of @@ -1850,6 +1858,7 @@ elaborateInstallPlan verbosity platform compiler compilerprogdb pkgConfigDB elabProgramPathExtra = perPkgOptionNubList pkgid packageConfigProgramPathExtra elabConfigureScriptArgs = perPkgOptionList pkgid packageConfigConfigureArgs elabExtraLibDirs = perPkgOptionList pkgid packageConfigExtraLibDirs + elabExtraLibDirsStatic = perPkgOptionList pkgid packageConfigExtraLibDirsStatic elabExtraFrameworkDirs = perPkgOptionList pkgid packageConfigExtraFrameworkDirs elabExtraIncludeDirs = perPkgOptionList pkgid packageConfigExtraIncludeDirs elabProgPrefix = perPkgOptionMaybe pkgid packageConfigProgPrefix @@ -2592,7 +2601,7 @@ nubComponentTargets = -> [(ComponentTarget, NonEmpty a)] wholeComponentOverrides ts = case [ ta | ta@(ComponentTarget _ WholeComponent, _) <- ts ] of - ((t, x):_) -> + ((t, x):_) -> let -- Delete tuple (t, x) from original list to avoid duplicates. -- Use 'deleteBy', to avoid additional Class constraint on 'nubComponentTargets'. @@ -3463,6 +3472,7 @@ setupHsConfigureFlags (ReadyPackage elab@ElaboratedConfiguredPackage{..}) configConfigurationsFlags = elabFlagAssignment configConfigureArgs = elabConfigureScriptArgs configExtraLibDirs = elabExtraLibDirs + configExtraLibDirsStatic = elabExtraLibDirsStatic configExtraFrameworkDirs = elabExtraFrameworkDirs configExtraIncludeDirs = elabExtraIncludeDirs configProgPrefix = maybe mempty toFlag elabProgPrefix diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs b/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs index 0388886ecdedf669561a82c4038459f45bcefaed..2d5eecdd353d6f4df8051ca4b00321e6266e93d8 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning/Types.hs @@ -95,7 +95,7 @@ import Distribution.Simple.LocalBuildInfo ( ComponentName(..), LibraryName(..) ) import qualified Distribution.Simple.InstallDirs as InstallDirs import Distribution.Simple.InstallDirs (PathTemplate) -import Distribution.Simple.Setup (HaddockTarget, TestShowDetails) +import Distribution.Simple.Setup (HaddockTarget, TestShowDetails, ReplOptions) import Distribution.Version import qualified Distribution.Solver.Types.ComponentDeps as CD @@ -147,7 +147,7 @@ data ElaboratedSharedConfig -- ghc & ghc-pkg). Once constructed, only the 'configuredPrograms' are -- used. pkgConfigCompilerProgs :: ProgramDb, - pkgConfigReplOptions :: [String] + pkgConfigReplOptions :: ReplOptions } deriving (Show, Generic, Typeable) --TODO: [code cleanup] no Eq instance @@ -267,6 +267,7 @@ data ElaboratedConfiguredPackage elabProgramPathExtra :: [FilePath], elabConfigureScriptArgs :: [String], elabExtraLibDirs :: [FilePath], + elabExtraLibDirsStatic :: [FilePath], elabExtraFrameworkDirs :: [FilePath], elabExtraIncludeDirs :: [FilePath], elabProgPrefix :: Maybe PathTemplate, diff --git a/cabal-install/src/Distribution/Client/RebuildMonad.hs b/cabal-install/src/Distribution/Client/RebuildMonad.hs index ec7e9843bdc557174aa68ff856b1c057dcbf89fc..3818aced7a3c08dea42ba439ffe1c6c5e4f168d6 100644 --- a/cabal-install/src/Distribution/Client/RebuildMonad.hs +++ b/cabal-install/src/Distribution/Client/RebuildMonad.hs @@ -294,9 +294,10 @@ findFileWithExtensionMonitored extensions searchPath baseName = , ext <- nub extensions ] -- | Like 'findFirstFile', but in the 'Rebuild' monad. -findFirstFileMonitored :: (a -> FilePath) -> [a] -> Rebuild (Maybe a) +findFirstFileMonitored :: forall a. (a -> FilePath) -> [a] -> Rebuild (Maybe a) findFirstFileMonitored file = findFirst - where findFirst [] = return Nothing + where findFirst :: [a] -> Rebuild (Maybe a) + findFirst [] = return Nothing findFirst (x:xs) = do exists <- doesFileExistMonitored (file x) if exists then return (Just x) diff --git a/cabal-install/src/Distribution/Client/Reconfigure.hs b/cabal-install/src/Distribution/Client/Reconfigure.hs index cb15790e5dd01d22752ddab8c80058f1e433a401..5be346fdd32eb0b932fc2594d2f86dad743a0be2 100644 --- a/cabal-install/src/Distribution/Client/Reconfigure.hs +++ b/cabal-install/src/Distribution/Client/Reconfigure.hs @@ -119,14 +119,16 @@ reconfigure else do - let checks = + let checks :: Check (ConfigFlags, ConfigExFlags) + checks = checkVerb <> checkDist <> checkOutdated <> check (Any frc, flags@(configFlags, _)) <- runCheck checks mempty savedFlags - let config' = updateInstallDirs (configUserInstall configFlags) config + let config' :: SavedConfig + config' = updateInstallDirs (configUserInstall configFlags) config when frc $ configureAction flags extraArgs globalFlags return config' @@ -135,11 +137,13 @@ reconfigure -- Changing the verbosity does not require reconfiguration, but the new -- verbosity should be used if reconfiguring. + checkVerb :: Check (ConfigFlags, b) checkVerb = Check $ \_ (configFlags, configExFlags) -> do let configFlags' = configFlags { configVerbosity = toFlag verbosity} return (mempty, (configFlags', configExFlags)) -- Reconfiguration is required if @--build-dir@ changes. + checkDist :: Check (ConfigFlags, b) checkDist = Check $ \_ (configFlags, configExFlags) -> do -- Always set the chosen @--build-dir@ before saving the flags, -- or bad things could happen. @@ -149,6 +153,7 @@ reconfigure let configFlags' = configFlags { configDistPref = toFlag dist } return (Any distChanged, (configFlags', configExFlags)) + checkOutdated :: Check (ConfigFlags, b) checkOutdated = Check $ \_ flags@(configFlags, _) -> do let buildConfig = localBuildInfoFile dist @@ -172,7 +177,8 @@ reconfigure outdated <- existsAndIsMoreRecentThan descrFile buildConfig when outdated $ info verbosity (descrFile ++ " was changed") - let failed = + let failed :: Any + failed = Any outdated <> Any userPackageEnvironmentFileModified <> Any (not configured) diff --git a/cabal-install/src/Distribution/Client/Setup.hs b/cabal-install/src/Distribution/Client/Setup.hs index c710b4a384e87e31e06c079e698b3bb385abd283..13cd1001fbc564d85e5985a4f7ab85d5d949b859 100644 --- a/cabal-install/src/Distribution/Client/Setup.hs +++ b/cabal-install/src/Distribution/Client/Setup.hs @@ -470,6 +470,7 @@ filterConfigureFlags flags cabalLibVersion | cabalLibVersion < mkVersion [1,25,0] = flags_1_25_0 | cabalLibVersion < mkVersion [2,1,0] = flags_2_1_0 | cabalLibVersion < mkVersion [2,5,0] = flags_2_5_0 + | cabalLibVersion < mkVersion [3,7,0] = flags_3_7_0 | otherwise = error "the impossible just happened" -- see first guard where flags_latest = flags { @@ -480,7 +481,12 @@ filterConfigureFlags flags cabalLibVersion configConstraints = [] } - flags_2_5_0 = flags_latest { + flags_3_7_0 = flags_latest { + -- Cabal < 3.7 does not know about --extra-lib-dirs-static + configExtraLibDirsStatic = [] + } + + flags_2_5_0 = flags_3_7_0 { -- Cabal < 2.5 does not understand --dependency=pkg:component=cid -- (public sublibraries), so we convert it to the legacy -- --dependency=pkg_or_internal_compoent=cid diff --git a/cabal-install/src/Distribution/Client/SolverInstallPlan.hs b/cabal-install/src/Distribution/Client/SolverInstallPlan.hs index f4fbbfdadbd84890178b60e645bdefcb5fe4c203..02ac3973218a9e79517fd2239b44809bc90b314b 100644 --- a/cabal-install/src/Distribution/Client/SolverInstallPlan.hs +++ b/cabal-install/src/Distribution/Client/SolverInstallPlan.hs @@ -126,6 +126,7 @@ showPlanPackage (Configured spkg) = comps | null deps = "" | otherwise = " " ++ unwords (map prettyShow $ Foldable.toList deps) where + deps :: Set CD.Component deps = CD.components (solverPkgLibDeps spkg) <> CD.components (solverPkgExeDeps spkg) @@ -271,6 +272,7 @@ nonSetupClosure :: SolverPlanIndex -> SolverPlanIndex nonSetupClosure index pkgids0 = closure Graph.empty pkgids0 where + closure :: Graph SolverPlanPackage -> [SolverId] -> SolverPlanIndex closure completed [] = completed closure completed (pkgid:pkgids) = case Graph.lookup pkgid index of @@ -293,6 +295,7 @@ rootSets (IndependentGoals indepGoals) index = if indepGoals then map (:[]) libRoots else [libRoots] ++ setupRoots index where + libRoots :: [SolverId] libRoots = libraryRoots index -- | Compute the library roots of a plan diff --git a/cabal-install/src/Distribution/Client/SourceFiles.hs b/cabal-install/src/Distribution/Client/SourceFiles.hs index 279593684714d32b5a95ab408adb51a7ee2a2791..b6edd067b74adbe04f90e325fe0ed00934933a3c 100644 --- a/cabal-install/src/Distribution/Client/SourceFiles.hs +++ b/cabal-install/src/Distribution/Client/SourceFiles.hs @@ -21,6 +21,7 @@ import Distribution.Simple.PreProcess import Distribution.Types.PackageDescription import Distribution.Types.Component +import Distribution.Types.ComponentRequestedSpec (ComponentRequestedSpec) import Distribution.Types.Library import Distribution.Types.Executable import Distribution.Types.Benchmark @@ -48,8 +49,11 @@ needElaboratedPackage :: ElaboratedConfiguredPackage -> ElaboratedPackage -> Reb needElaboratedPackage elab epkg = traverse_ (needComponent pkg_descr) (enabledComponents pkg_descr enabled) where + pkg_descr :: PackageDescription pkg_descr = elabPkgDescription elab + enabled_stanzas :: OptionalStanzaSet enabled_stanzas = pkgStanzasEnabled epkg + enabled :: ComponentRequestedSpec enabled = enableStanzas enabled_stanzas needElaboratedComponent :: ElaboratedConfiguredPackage -> ElaboratedComponent -> Rebuild () @@ -58,7 +62,9 @@ needElaboratedComponent elab ecomp = Nothing -> needSetup Just comp -> needComponent pkg_descr comp where + pkg_descr :: PackageDescription pkg_descr = elabPkgDescription elab + mb_comp :: Maybe Component mb_comp = fmap (getComponent pkg_descr) (compComponentName ecomp) needComponent :: PackageDescription -> Component -> Rebuild () @@ -101,6 +107,7 @@ needTestSuite pkg_descr t needBuildInfo pkg_descr bi [m] TestSuiteUnsupported _ -> return () -- soft fail where + bi :: BuildInfo bi = testBuildInfo t needMainFile :: BuildInfo -> FilePath -> Rebuild () @@ -130,6 +137,7 @@ needBenchmark pkg_descr bm needMainFile bi mainPath BenchmarkUnsupported _ -> return () -- soft fail where + bi :: BuildInfo bi = benchmarkBuildInfo bm needBuildInfo :: PackageDescription -> BuildInfo -> [ModuleName] -> Rebuild () diff --git a/cabal-install/src/Distribution/Client/Targets.hs b/cabal-install/src/Distribution/Client/Targets.hs index 8cc4cdaf68a496ab1e4c6cacfcbf81204941a0e0..89aaf1fdab8904b5ad43fa2ac77d0a142585458e 100644 --- a/cabal-install/src/Distribution/Client/Targets.hs +++ b/cabal-install/src/Distribution/Client/Targets.hs @@ -195,6 +195,7 @@ readUserTarget targetstr = Just target -> return target Nothing -> return (Left (UserTargetUnrecognised targetstr)) where + testFileTargets :: FilePath -> IO (Maybe (Either UserTargetProblem UserTarget)) testFileTargets filename = do isDir <- doesDirectoryExist filename isFile <- doesFileExist filename @@ -221,6 +222,7 @@ readUserTarget targetstr = = Nothing return result + testUriTargets :: String -> Maybe (Either UserTargetProblem UserTarget) testUriTargets str = case parseAbsoluteURI str of Just uri@URI { @@ -414,6 +416,7 @@ readPackageTarget :: Verbosity -> IO (PackageTarget UnresolvedSourcePackage) readPackageTarget verbosity = traverse modifyLocation where + modifyLocation :: ResolvedPkgLoc -> IO UnresolvedSourcePackage modifyLocation location = case location of LocalUnpackedPackage dir -> do @@ -444,6 +447,7 @@ readPackageTarget verbosity = traverse modifyLocation -- -- When that is corrected, this will also need to be fixed. + readTarballPackageTarget :: ResolvedPkgLoc -> FilePath -> FilePath -> IO UnresolvedSourcePackage readTarballPackageTarget location tarballFile tarballOriginalLoc = do (filename, content) <- extractTarballPackageCabalFile tarballFile tarballOriginalLoc @@ -471,6 +475,8 @@ readPackageTarget verbosity = traverse modifyLocation where formatErr msg = "Error reading " ++ tarballOriginalLoc ++ ": " ++ msg + accumEntryMap :: Tar.Entries Tar.FormatError + -> Either (Tar.FormatError, Map Tar.TarPath Tar.Entry) (Map Tar.TarPath Tar.Entry) accumEntryMap = Tar.foldlEntries (\m e -> Map.insert (Tar.entryTarPath e) e m) Map.empty @@ -486,6 +492,7 @@ readPackageTarget verbosity = traverse modifyLocation noCabalFile = "No cabal file found" multipleCabalFiles = "Multiple cabal files found" + isCabalFile :: Tar.Entry -> Bool isCabalFile e = case splitPath (Tar.entryPath e) of [ _dir, file] -> takeExtension file == ".cabal" [".", _dir, file] -> takeExtension file == ".cabal" diff --git a/cabal-install/src/Distribution/Client/Upload.hs b/cabal-install/src/Distribution/Client/Upload.hs index 17a25cd2ad985c906c5807224d0cb474a40e5e84..e156580d0774a43226103d2f2cffa1a2582c15cd 100644 --- a/cabal-install/src/Distribution/Client/Upload.hs +++ b/cabal-install/src/Distribution/Client/Upload.hs @@ -4,7 +4,7 @@ import Distribution.Client.Compat.Prelude import qualified Prelude as Unsafe (tail, head, read) import Distribution.Client.Types.Credentials ( Username(..), Password(..) ) -import Distribution.Client.Types.Repo (RemoteRepo(..), maybeRepoRemote) +import Distribution.Client.Types.Repo (Repo, RemoteRepo(..), maybeRepoRemote) import Distribution.Client.Types.RepoName (unRepoName) import Distribution.Client.HttpUtils ( HttpTransport(..), remoteRepoTryUpgradeToHttps ) @@ -44,15 +44,19 @@ upload :: Verbosity -> RepoContext -> Maybe Username -> Maybe Password -> IsCandidate -> [FilePath] -> IO () upload verbosity repoCtxt mUsername mPassword isCandidate paths = do - let repos = repoContextRepos repoCtxt + let repos :: [Repo] + repos = repoContextRepos repoCtxt transport <- repoContextGetTransport repoCtxt targetRepo <- case [ remoteRepo | Just remoteRepo <- map maybeRepoRemote repos ] of [] -> die' verbosity "Cannot upload. No remote repositories are configured." (r:rs) -> remoteRepoTryUpgradeToHttps verbosity transport (last (r:|rs)) - let targetRepoURI = remoteRepoURI targetRepo + let targetRepoURI :: URI + targetRepoURI = remoteRepoURI targetRepo + domain :: String domain = maybe "Hackage" uriRegName $ uriAuthority targetRepoURI rootIfEmpty x = if null x then "/" else x + uploadURI :: URI uploadURI = targetRepoURI { uriPath = rootIfEmpty (uriPath targetRepoURI) FilePath.Posix.</> case isCandidate of @@ -167,16 +171,20 @@ promptPassword domain = do report :: Verbosity -> RepoContext -> Maybe Username -> Maybe Password -> IO () report verbosity repoCtxt mUsername mPassword = do - let repos = repoContextRepos repoCtxt + let repos :: [Repo] + repos = repoContextRepos repoCtxt + remoteRepos :: [RemoteRepo] remoteRepos = mapMaybe maybeRepoRemote repos for_ remoteRepos $ \remoteRepo -> do let domain = maybe "Hackage" uriRegName $ uriAuthority (remoteRepoURI remoteRepo) Username username <- maybe (promptUsername domain) return mUsername Password password <- maybe (promptPassword domain) return mPassword - let auth = (username, password) + let auth :: (String, String) + auth = (username, password) dotCabal <- getCabalDir - let srcDir = dotCabal </> "reports" </> unRepoName (remoteRepoName remoteRepo) + let srcDir :: FilePath + srcDir = dotCabal </> "reports" </> unRepoName (remoteRepoName remoteRepo) -- We don't want to bomb out just because we haven't built any packages -- from this repo yet. srcExists <- doesDirectoryExist srcDir @@ -208,6 +216,7 @@ handlePackage transport verbosity uri packageUri auth isCandidate path = ++ err exitFailure where + okMessage :: IsCandidate -> String okMessage IsCandidate = "Package successfully uploaded as candidate. " ++ "You can now preview the result at '" ++ show packageUri diff --git a/cabal-install/src/Distribution/Client/Utils.hs b/cabal-install/src/Distribution/Client/Utils.hs index 5c37ab352667b5e1de62cadb6aff1ac77d8154de..64e715c86a5f358b3591f8d464d3c74310b957ea 100644 --- a/cabal-install/src/Distribution/Client/Utils.hs +++ b/cabal-install/src/Distribution/Client/Utils.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE ForeignFunctionInterface, CPP #-} +{-# LANGUAGE ForeignFunctionInterface, ScopedTypeVariables, CPP #-} module Distribution.Client.Utils ( MergeResult(..) @@ -18,6 +18,7 @@ module Distribution.Client.Utils , moreRecentFile, existsAndIsMoreRecentThan , tryFindAddSourcePackageDesc , tryFindPackageDesc + , findOpenProgramLocation , relaxEncodingErrors , ProgressPhase (..) , progressMessage @@ -38,6 +39,7 @@ import Distribution.Compat.Time ( getModTime ) import Distribution.Simple.Setup ( Flag(..) ) import Distribution.Version import Distribution.Simple.Utils ( die', findPackageDesc, noticeNoWrap ) +import Distribution.System ( Platform (..), OS(..)) import qualified Data.ByteString.Lazy as BS import Data.Bits ( (.|.), shiftL, shiftR ) @@ -50,7 +52,7 @@ import Foreign.C.Types ( CInt(..) ) import qualified Control.Exception as Exception ( finally, bracket ) import System.Directory - ( canonicalizePath, doesFileExist, getCurrentDirectory + ( canonicalizePath, doesFileExist, findExecutable, getCurrentDirectory , removeFile, setCurrentDirectory, getDirectoryContents, doesDirectoryExist ) import System.IO ( Handle, hClose, openTempFile @@ -74,9 +76,10 @@ import qualified System.IO.Error as IOError -- | Generic merging utility. For sorted input lists this is a full outer join. -- -mergeBy :: (a -> b -> Ordering) -> [a] -> [b] -> [MergeResult a b] +mergeBy :: forall a b. (a -> b -> Ordering) -> [a] -> [b] -> [MergeResult a b] mergeBy cmp = merge where + merge :: [a] -> [b] -> [MergeResult a b] merge [] ys = [ OnlyInRight y | y <- ys] merge xs [] = [ OnlyInLeft x | x <- xs] merge (x:xs) (y:ys) = @@ -90,9 +93,10 @@ data MergeResult a b = OnlyInLeft a | InBoth a b | OnlyInRight b duplicates :: Ord a => [a] -> [[a]] duplicates = duplicatesBy compare -duplicatesBy :: (a -> a -> Ordering) -> [a] -> [[a]] +duplicatesBy :: forall a. (a -> a -> Ordering) -> [a] -> [[a]] duplicatesBy cmp = filter moreThanOne . groupBy eq . sortBy cmp where + eq :: a -> a -> Bool eq a b = case cmp a b of EQ -> True _ -> False @@ -173,7 +177,9 @@ withEnvOverrides overrides m = do withExtraPathEnv :: [FilePath] -> IO a -> IO a withExtraPathEnv paths m = do oldPathSplit <- getSearchPath - let newPath = mungePath $ intercalate [searchPathSeparator] (paths ++ oldPathSplit) + let newPath :: String + newPath = mungePath $ intercalate [searchPathSeparator] (paths ++ oldPathSplit) + oldPath :: String oldPath = mungePath $ intercalate [searchPathSeparator] oldPathSplit -- TODO: This is a horrible hack to work around the fact that -- setEnv can't take empty values as an argument @@ -344,6 +350,26 @@ tryFindPackageDesc verbosity depPath err = do Right file -> return file Left _ -> die' verbosity err +findOpenProgramLocation :: Platform -> IO (Either String FilePath) +findOpenProgramLocation (Platform _ os) = + let + locate name = do + exe <- findExecutable name + case exe of + Just s -> pure (Right s) + Nothing -> pure (Left ("Couldn't find file-opener program `" <> name <> "`")) + xdg = locate "xdg-open" + in case os of + Windows -> pure (Right "start") + OSX -> locate "open" + Linux -> xdg + FreeBSD -> xdg + OpenBSD -> xdg + NetBSD -> xdg + DragonFly -> xdg + _ -> pure (Left ("Couldn't determine file-opener program for " <> show os)) + + -- | Phase of building a dependency. Represents current status of package -- dependency processing. See #4040 for details. data ProgressPhase diff --git a/cabal-install/src/Distribution/Client/VCS.hs b/cabal-install/src/Distribution/Client/VCS.hs index 2f2fd9fa41c111c2c5a9c092db63fe43f28951da..f13b02dec9d90a9d24e359c54fc16ed7c3a8632c 100644 --- a/cabal-install/src/Distribution/Client/VCS.hs +++ b/cabal-install/src/Distribution/Client/VCS.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE NamedFieldPuns, RecordWildCards, RankNTypes #-} module Distribution.Client.VCS ( -- * VCS driver type @@ -45,20 +47,29 @@ import Distribution.Simple.Program ( Program(programFindVersion) , ConfiguredProgram(programVersion) , simpleProgram, findProgramVersion - , ProgramInvocation(..), programInvocation, runProgramInvocation + , ProgramInvocation(..), programInvocation, runProgramInvocation, getProgramInvocationOutput , emptyProgramDb, requireProgram ) import Distribution.Version ( mkVersion ) import qualified Distribution.PackageDescription as PD +import Control.Applicative + ( liftA2 ) +import Control.Exception + ( throw, try ) import Control.Monad.Trans ( liftIO ) import qualified Data.Char as Char +import qualified Data.List as List import qualified Data.Map as Map import System.FilePath ( takeDirectory ) import System.Directory - ( doesDirectoryExist ) + ( doesDirectoryExist + , removeDirectoryRecursive + ) +import System.IO.Error + ( isDoesNotExistError ) -- | A driver for a version control system, e.g. git, darcs etc. @@ -146,6 +157,9 @@ validateSourceRepos rs = (problems@(_:_), _) -> Left problems ([], vcss) -> Right vcss where + validateSourceRepo' :: SourceRepositoryPackage f + -> Either (SourceRepositoryPackage f, SourceRepoProblem) + (SourceRepositoryPackage f, String, RepoType, VCS Program) validateSourceRepo' r = either (Left . (,) r) Right (validateSourceRepo r) @@ -306,7 +320,41 @@ vcsDarcs = vcsSyncRepos :: Verbosity -> ConfiguredProgram -> [(SourceRepositoryPackage f, FilePath)] -> IO [MonitorFilePath] - vcsSyncRepos _v _p _rs = fail "sync repo not yet supported for darcs" + vcsSyncRepos _ _ [] = return [] + vcsSyncRepos verbosity prog ((primaryRepo, primaryLocalDir) : secondaryRepos) = + monitors <$ do + vcsSyncRepo verbosity prog primaryRepo primaryLocalDir Nothing + for_ secondaryRepos $ \ (repo, localDir) -> + vcsSyncRepo verbosity prog repo localDir $ Just primaryLocalDir + where + dirs = primaryLocalDir : (snd <$> secondaryRepos) + monitors = monitorDirectoryExistence <$> dirs + + vcsSyncRepo verbosity prog SourceRepositoryPackage{..} localDir _peer = + try (lines <$> darcsWithOutput localDir ["log", "--last", "1"]) >>= \ case + Right (_:_:_:x:_) + | Just tag <- (List.stripPrefix "tagged " . List.dropWhile Char.isSpace) x + , Just tag' <- srpTag + , tag == tag' -> pure () + Left e | not (isDoesNotExistError e) -> throw e + _ -> do + removeDirectoryRecursive localDir `catch` liftA2 unless isDoesNotExistError throw + darcs (takeDirectory localDir) cloneArgs + where + darcs :: FilePath -> [String] -> IO () + darcs = darcs' runProgramInvocation + + darcsWithOutput :: FilePath -> [String] -> IO String + darcsWithOutput = darcs' getProgramInvocationOutput + + darcs' f cwd args = f verbosity (programInvocation prog args) + { progInvokeCwd = Just cwd } + + cloneArgs = ["clone"] ++ tagArgs ++ [srpLocation, localDir] ++ verboseArg + tagArgs = case srpTag of + Nothing -> [] + Just tag -> ["-t" ++ tag] + verboseArg = [ "--quiet" | verbosity < Verbosity.normal ] darcsProgram :: Program darcsProgram = (simpleProgram "darcs") { @@ -445,7 +493,35 @@ vcsHg = -> ConfiguredProgram -> [(SourceRepositoryPackage f, FilePath)] -> IO [MonitorFilePath] - vcsSyncRepos _v _p _rs = fail "sync repo not yet supported for hg" + vcsSyncRepos _ _ [] = return [] + vcsSyncRepos verbosity hgProg + ((primaryRepo, primaryLocalDir) : secondaryRepos) = do + vcsSyncRepo verbosity hgProg primaryRepo primaryLocalDir + sequence_ + [ vcsSyncRepo verbosity hgProg repo localDir + | (repo, localDir) <- secondaryRepos ] + return [ monitorDirectoryExistence dir + | dir <- (primaryLocalDir : map snd secondaryRepos) ] + vcsSyncRepo verbosity hgProg repo localDir = do + exists <- doesDirectoryExist localDir + if exists + then hg localDir ["pull"] + else hg (takeDirectory localDir) cloneArgs + hg localDir checkoutArgs + where + hg :: FilePath -> [String] -> IO () + hg cwd args = runProgramInvocation verbosity $ + (programInvocation hgProg args) { + progInvokeCwd = Just cwd + } + cloneArgs = ["clone", "--noupdate", (srpLocation repo), localDir] + ++ verboseArg + verboseArg = [ "--quiet" | verbosity < Verbosity.normal ] + checkoutArgs = [ "checkout", "--clean" ] + ++ tagArgs + tagArgs = case srpTag repo of + Just t -> ["--rev", t] + Nothing -> [] hgProgram :: Program hgProgram = (simpleProgram "hg") { diff --git a/cabal-install/src/Distribution/Client/World.hs b/cabal-install/src/Distribution/Client/World.hs index a24a663dfcace266fc572be56a43609a1cac7472..49d530fabfbcf3314bc1dce34c87a5d681c6ddde 100644 --- a/cabal-install/src/Distribution/Client/World.hs +++ b/cabal-install/src/Distribution/Client/World.hs @@ -35,7 +35,7 @@ import Distribution.Client.Compat.Prelude hiding (getContents) import Distribution.Types.Dependency import Distribution.Types.Flag - ( FlagAssignment, unFlagAssignment + ( FlagAssignment, FlagName, unFlagAssignment , unFlagName, parsecFlagAssignmentNonEmpty ) import Distribution.Simple.Utils ( die', info, chattyTry, writeFileAtomic ) @@ -104,7 +104,8 @@ modifyWorld f verbosity world pkgs = getContents :: Verbosity -> FilePath -> IO [WorldPkgInfo] getContents verbosity world = do content <- safelyReadFile world - let result = map simpleParsec (lines $ B.unpack content) + let result :: [Maybe WorldPkgInfo] + result = map simpleParsec (lines $ B.unpack content) case sequence result of Nothing -> die' verbosity "Could not parse world file." Just xs -> return xs @@ -122,6 +123,7 @@ instance Pretty WorldPkgInfo where dispFlags [] = Disp.empty dispFlags fs = Disp.text "--flags=" <<>> Disp.doubleQuotes (flagAssToDoc fs) + flagAssToDoc :: [(FlagName, Bool)] -> Disp.Doc flagAssToDoc = foldr (\(fname,val) flagAssDoc -> (if not val then Disp.char '-' else Disp.char '+') diff --git a/cabal-install/tests/UnitTests/Distribution/Client/Init/Simple.hs b/cabal-install/tests/UnitTests/Distribution/Client/Init/Simple.hs index 1250aaf6f9d364e326ecb1765d9bb1ff06a23ba8..3b710c798008946fdd3e31b6718dca29a72a64c5 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/Init/Simple.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/Init/Simple.hs @@ -23,7 +23,7 @@ import UnitTests.Distribution.Client.Init.Utils import Distribution.Simple.Setup import qualified Data.List.NonEmpty as NEL import Distribution.Types.Dependency -import Distribution.Client.Init.Utils (mkPackageNameDep) +import Distribution.Client.Init.Utils (mkPackageNameDep, getBaseDep) import qualified Data.Set as Set tests @@ -56,7 +56,7 @@ simpleCreateProjectTests v pkgIx srcDb pkgName = flags = emptyFlags { packageType = Flag Library } settings = ProjectSettings (WriteOpts False False False v "/home/test/1" Library pkgName defaultCabalVersion) - (simplePkgDesc pkgName) (Just simpleLibTarget) + (simplePkgDesc pkgName) (Just $ simpleLibTarget baseDep) Nothing Nothing case _runPrompt (createProject v pkgIx srcDb flags) inputs of @@ -68,8 +68,8 @@ simpleCreateProjectTests v pkgIx srcDb pkgName = flags = emptyFlags { packageType = Flag Library } settings = ProjectSettings (WriteOpts False False False v "/home/test/1" Library pkgName defaultCabalVersion) - (simplePkgDesc pkgName) (Just simpleLibTarget) - Nothing (Just $ simpleTestTarget (Just pkgName)) + (simplePkgDesc pkgName) (Just $ simpleLibTarget baseDep) + Nothing (Just $ simpleTestTarget (Just pkgName) baseDep) case _runPrompt (createProject v pkgIx srcDb flags) inputs of Left e -> assertFailure $ "Failed to create simple lib (with tests)project: " ++ show e @@ -81,7 +81,7 @@ simpleCreateProjectTests v pkgIx srcDb pkgName = settings = ProjectSettings (WriteOpts False False False v "/home/test/2" Executable pkgName defaultCabalVersion) (simplePkgDesc pkgName) Nothing - (Just $ simpleExeTarget Nothing) Nothing + (Just $ simpleExeTarget Nothing baseDep) Nothing case _runPrompt (createProject v pkgIx srcDb flags) inputs of Left e -> assertFailure $ "Failed to create simple exe project: " ++ show e @@ -92,8 +92,8 @@ simpleCreateProjectTests v pkgIx srcDb pkgName = flags = emptyFlags { packageType = Flag LibraryAndExecutable } settings = ProjectSettings (WriteOpts False False False v "/home/test/2" LibraryAndExecutable pkgName defaultCabalVersion) - (simplePkgDesc pkgName) (Just simpleLibTarget) - (Just $ simpleExeTarget (Just pkgName)) Nothing + (simplePkgDesc pkgName) (Just $ simpleLibTarget baseDep) + (Just $ simpleExeTarget (Just pkgName) baseDep) Nothing case _runPrompt (createProject v pkgIx srcDb flags) inputs of Left e -> assertFailure $ "Failed to create simple lib+exe project: " ++ show e @@ -103,26 +103,30 @@ simpleCreateProjectTests v pkgIx srcDb pkgName = flags = emptyFlags { packageType = Flag LibraryAndExecutable } settings = ProjectSettings (WriteOpts False False False v "/home/test/2" LibraryAndExecutable pkgName defaultCabalVersion) - (simplePkgDesc pkgName) (Just simpleLibTarget) - (Just $ simpleExeTarget (Just pkgName)) - (Just $ simpleTestTarget (Just pkgName)) + (simplePkgDesc pkgName) (Just $ simpleLibTarget baseDep) + (Just $ simpleExeTarget (Just pkgName) baseDep) + (Just $ simpleTestTarget (Just pkgName) baseDep) case _runPrompt (createProject v pkgIx srcDb flags) inputs of Left e -> assertFailure $ "Failed to create simple lib+exe (with tests) project: " ++ show e Right (settings', _) -> settings @=? settings' - + , testCase "Simple standalone tests" $ do let inputs = fromList ["2", "simple-test", "y", "1"] flags = emptyFlags { packageType = Flag TestSuite } settings = ProjectSettings (WriteOpts False False False v "/home/test/2" TestSuite pkgName defaultCabalVersion) (simplePkgDesc pkgName) Nothing Nothing - (Just $ simpleTestTarget Nothing) + (Just $ simpleTestTarget Nothing baseDep) case _runPrompt (createProject v pkgIx srcDb flags) inputs of Left e -> assertFailure $ "Failed to create simple standalone test project: " ++ show e Right (settings', _) -> settings @=? settings' ] + where + baseDep = case _runPrompt (getBaseDep pkgIx emptyFlags) $ fromList [] of + Left e -> error $ show e + Right a -> fst a -- -------------------------------------------------------------------- -- -- Utils @@ -141,23 +145,23 @@ simplePkgDesc pkgName = PkgDescription mempty (Just $ Set.singleton defaultChangelog) -simpleLibTarget :: LibTarget -simpleLibTarget = LibTarget +simpleLibTarget :: [Dependency] -> LibTarget +simpleLibTarget baseDep = LibTarget [defaultSourceDir] defaultLanguage (myLibModule NEL.:| []) - [] [] [] [] + [] [] baseDep [] -simpleExeTarget :: Maybe PackageName -> ExeTarget -simpleExeTarget pn = ExeTarget +simpleExeTarget :: Maybe PackageName -> [Dependency] -> ExeTarget +simpleExeTarget pn baseDep = ExeTarget defaultMainIs [defaultApplicationDir] defaultLanguage - [] [] (mkPkgDep pn) [] + [] [] (baseDep ++ mkPkgDep pn) [] -simpleTestTarget :: Maybe PackageName -> TestTarget -simpleTestTarget pn = TestTarget +simpleTestTarget :: Maybe PackageName -> [Dependency] -> TestTarget +simpleTestTarget pn baseDep = TestTarget defaultMainIs [defaultTestDir] defaultLanguage - [] [] (mkPkgDep pn) [] + [] [] (baseDep ++ mkPkgDep pn) [] diff --git a/cabal-install/tests/UnitTests/Distribution/Client/Init/Utils.hs b/cabal-install/tests/UnitTests/Distribution/Client/Init/Utils.hs index 1c7bfc9e174be2d8f789478f3b47100c14f9fade..b8a67ca675a29152d4b008c2fdae749f34020dbb 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/Init/Utils.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/Init/Utils.hs @@ -51,7 +51,7 @@ emptyFlags :: InitFlags emptyFlags = mempty -- | Retireves the proper base version based on the GHC version -baseVersion :: Compiler -> VersionRange +baseVersion :: Compiler -> VersionRange baseVersion Compiler {compilerId = CompilerId GHC ver} = let ghcToBase = baseVersion' . prettyShow $ ver in if null ghcToBase diff --git a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs b/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs index 3681ac1d9005a09ba6bb827fdef0aef2029a031f..95b7e1ccb797551daae8b988ff9d17dfa60ec711 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs @@ -553,6 +553,7 @@ instance Arbitrary PackageConfig where <*> shortListOf 5 arbitraryShortToken <*> shortListOf 5 arbitraryShortToken <*> shortListOf 5 arbitraryShortToken + <*> shortListOf 5 arbitraryShortToken <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary @@ -604,6 +605,7 @@ instance Arbitrary PackageConfig where , packageConfigProgPrefix = x14 , packageConfigProgSuffix = x15 , packageConfigExtraLibDirs = x16 + , packageConfigExtraLibDirsStatic = x53 , packageConfigExtraFrameworkDirs = x17 , packageConfigExtraIncludeDirs = x18 , packageConfigGHCiLib = x19 @@ -659,6 +661,7 @@ instance Arbitrary PackageConfig where , packageConfigProgPrefix = x14' , packageConfigProgSuffix = x15' , packageConfigExtraLibDirs = map getNonEmpty x16' + , packageConfigExtraLibDirsStatic = map getNonEmpty x53' , packageConfigExtraFrameworkDirs = map getNonEmpty x17' , packageConfigExtraIncludeDirs = map getNonEmpty x18' , packageConfigGHCiLib = x19' @@ -698,7 +701,7 @@ instance Arbitrary PackageConfig where | (((x00', x01', x02', x03', x04'), (x05', x42', x06', x50', x07', x08', x09'), (x10', x11', x12', x13', x14'), - (x15', x16', x17', x18', x19')), + (x15', x16', x53', x17', x18', x19')), ((x20', x20_1', x21', x22', x23', x24'), (x25', x26', x27', x28', x29'), (x30', x31', x32', (x33', x33_1'), x34'), @@ -709,7 +712,7 @@ instance Arbitrary PackageConfig where (((preShrink_Paths x00, preShrink_Args x01, x02, x03, x04), (x05, x42, x06, x50, x07, x08, x09), (x10, x11, map NonEmpty x12, x13, x14), - (x15, map NonEmpty x16, + (x15, map NonEmpty x16, map NonEmpty x53, map NonEmpty x17, map NonEmpty x18, x19)), diff --git a/cabal-install/tests/UnitTests/Distribution/Client/VCS.hs b/cabal-install/tests/UnitTests/Distribution/Client/VCS.hs index e4d68b0f5acfec24806885ac2ad18d46e42e4704..c3b8613b84df414e5a3e35d731ce8886d86d9863 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/VCS.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/VCS.hs @@ -66,6 +66,12 @@ tests mtimeChange = , testProperty "syncSourceRepos" prop_syncRepos_pijul ] + , testGroup "mercurial" $ const [] + [ testProperty "check VCS test framework" prop_framework_hg + , testProperty "cloneSourceRepo" prop_cloneRepo_hg + , testProperty "syncSourceRepos" prop_syncRepos_hg + ] + ] prop_framework_git :: BranchingRepoRecipe -> Property @@ -86,6 +92,12 @@ prop_framework_pijul = . prop_framework vcsPijul vcsTestDriverPijul . WithBranchingSupport +prop_framework_hg :: BranchingRepoRecipe -> Property +prop_framework_hg = + ioProperty + . prop_framework vcsHg vcsTestDriverHg + . WithBranchingSupport + prop_cloneRepo_git :: BranchingRepoRecipe -> Property prop_cloneRepo_git = ioProperty @@ -105,6 +117,12 @@ prop_cloneRepo_pijul = . prop_cloneRepo vcsPijul vcsTestDriverPijul . WithBranchingSupport +prop_cloneRepo_hg :: BranchingRepoRecipe -> Property +prop_cloneRepo_hg = + ioProperty + . prop_cloneRepo vcsHg vcsTestDriverHg + . WithBranchingSupport + prop_syncRepos_git :: RepoDirSet -> SyncTargetIterations -> PrngSeed -> BranchingRepoRecipe -> Property prop_syncRepos_git destRepoDirs syncTargetSetIterations seed = @@ -130,6 +148,14 @@ prop_syncRepos_pijul destRepoDirs syncTargetSetIterations seed = destRepoDirs syncTargetSetIterations seed . WithBranchingSupport +prop_syncRepos_hg :: RepoDirSet -> SyncTargetIterations -> PrngSeed + -> BranchingRepoRecipe -> Property +prop_syncRepos_hg destRepoDirs syncTargetSetIterations seed = + ioProperty + . prop_syncRepos vcsHg vcsTestDriverHg + destRepoDirs syncTargetSetIterations seed + . WithBranchingSupport + -- ------------------------------------------------------------ -- * General test setup -- ------------------------------------------------------------ @@ -755,3 +781,46 @@ vcsTestDriverPijul verbosity vcs repoRoot = } pijul = runProgramInvocation verbosity . gitInvocation pijul' = getProgramInvocationOutput verbosity . gitInvocation + +vcsTestDriverHg :: Verbosity -> VCS ConfiguredProgram + -> FilePath -> VCSTestDriver +vcsTestDriverHg verbosity vcs repoRoot = + VCSTestDriver { + vcsVCS = vcs + + , vcsRepoRoot = repoRoot + + , vcsIgnoreFiles = Set.empty + + , vcsInit = + hg $ ["init"] ++ verboseArg + + , vcsAddFile = \_ filename -> + hg ["add", filename] + + , vcsCommitChanges = \_state -> do + hg $ [ "--user='A <a@example.com>'" + , "commit", "--message=a patch" + ] ++ verboseArg + commit <- hg' ["log", "--template='{node}\\n' -l1"] + let commit' = takeWhile (not . isSpace) commit + return (Just commit') + + , vcsTagState = \_ tagname -> + hg ["tag", "--force", tagname] + + , vcsSwitchBranch = \RepoState{allBranches} branchname -> do + unless (branchname `Map.member` allBranches) $ + hg ["branch", branchname] + hg $ ["checkout", branchname] ++ verboseArg + + , vcsCheckoutTag = Left $ \tagname -> + hg $ ["checkout", "--rev", tagname] ++ verboseArg + } + where + hgInvocation args = (programInvocation (vcsProgram vcs) args) { + progInvokeCwd = Just repoRoot + } + hg = runProgramInvocation verbosity . hgInvocation + hg' = getProgramInvocationOutput verbosity . hgInvocation + verboseArg = [ "--quiet" | verbosity < Verbosity.normal ] diff --git a/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-and-exe-with-comments.golden b/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-and-exe-with-comments.golden index 799d0fa9573f75c87a1ca59096d28233edb1042c..976ad1adb35a709b1e8f39e19fa0db28417146b6 100644 --- a/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-and-exe-with-comments.golden +++ b/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-and-exe-with-comments.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 3.0 -- Initial package description 'y' generated by diff --git a/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-with-comments.golden b/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-with-comments.golden index f6cc2ada1bd4b40e05c28d799f9b27ca832bc187..8b54f17e83d0fef7567f35f358b1dc84026c22b6 100644 --- a/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-with-comments.golden +++ b/cabal-install/tests/fixtures/init/golden/cabal/cabal-lib-with-comments.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 3.0 -- Initial package description 'y' generated by diff --git a/cabal-install/tests/fixtures/init/golden/cabal/cabal-test-suite-with-comments.golden b/cabal-install/tests/fixtures/init/golden/cabal/cabal-test-suite-with-comments.golden index c9639bdf9e1a5f142f3af6bbf81a17b1260e556d..ad8f7e9a5c7c8d8c3d32a341a4d30956ab7eee10 100644 --- a/cabal-install/tests/fixtures/init/golden/cabal/cabal-test-suite-with-comments.golden +++ b/cabal-install/tests/fixtures/init/golden/cabal/cabal-test-suite-with-comments.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 3.0 -- Initial package description 'y' generated by diff --git a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-old-cabal-with-flags.golden b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-old-cabal-with-flags.golden index 799181abd6dc5e8e31d4722dae8cf61b7be45937..39eee708a8bb790bd23be1d434161e07ca41157f 100644 --- a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-old-cabal-with-flags.golden +++ b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-old-cabal-with-flags.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 2.0 -- Initial package description 'y' generated by diff --git a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-comments.golden b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-comments.golden index 45630780ea486f5834ee81b60385e97a8f21dda8..9729bd65f4078a7d8d3c60f25b7c6204610eb69b 100644 --- a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-comments.golden +++ b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-comments.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 3.0 -- Initial package description 'y' generated by diff --git a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-flags.golden b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-flags.golden index 643d538c8e84fccb299a59411cf1c9aa8371dd45..f714e5996f2e5443568e9be9443dc90b4446e7d8 100644 --- a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-flags.golden +++ b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg-with-flags.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 2.2 -- Initial package description 'y' generated by diff --git a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg.golden b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg.golden index 45630780ea486f5834ee81b60385e97a8f21dda8..9729bd65f4078a7d8d3c60f25b7c6204610eb69b 100644 --- a/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg.golden +++ b/cabal-install/tests/fixtures/init/golden/pkg-desc/pkg.golden @@ -1,3 +1,7 @@ +-- The cabal-version field refers to the version of the .cabal specification, +-- and can be different from the cabal-install (the tool) version and the +-- Cabal (the library) version you are using. As such, the Cabal (the library) +-- version used must be equal or greater than the version stated in this field. cabal-version: 3.0 -- Initial package description 'y' generated by diff --git a/cabal-testsuite/PackageTests/AutogenModules/Package/setup.cabal.out b/cabal-testsuite/PackageTests/AutogenModules/Package/setup.cabal.out index c31ecaec961267748e3d0ce0b8b47fdad2c78133..3554cdf926d3b835809f2797a9edbc1c636fac5f 100644 --- a/cabal-testsuite/PackageTests/AutogenModules/Package/setup.cabal.out +++ b/cabal-testsuite/PackageTests/AutogenModules/Package/setup.cabal.out @@ -14,7 +14,7 @@ On executable 'Exe' an 'autogen-module' is not on 'other-modules' On test suite 'Test' an 'autogen-module' is not on 'other-modules' On benchmark 'Bench' an 'autogen-module' is not on 'other-modules' Packages using 'cabal-version: 2.0' and the autogenerated module Paths_* must include it also on the 'autogen-modules' field besides 'exposed-modules' and 'other-modules'. This specifies that the module does not come with the package and is generated on setup. Modules built with a custom Setup.hs script also go here to ensure that commands like sdist don't fail. -The filename ./my.cabal does not match package name (expected: AutogenModules.cabal) +The filename './my.cabal' does not match package name (expected: 'AutogenModules.cabal') Note: the public hackage server would reject this package. Building source dist for AutogenModules-0.1... cabal: Error: Could not find module: MyLibHelperModule with any suffix: ["gc","chs","hsc","x","y","ly","cpphs","hs","lhs","hsig","lhsig"]. If the module is autogenerated it should be added to 'autogen-modules'. diff --git a/cabal-testsuite/PackageTests/AutogenModules/Package/setup.out b/cabal-testsuite/PackageTests/AutogenModules/Package/setup.out index d557874e1fb8bc0cdd3a985553b3d2591447efbb..d26d2133ecb36fe9684529ef10f6a8dfefaf3072 100644 --- a/cabal-testsuite/PackageTests/AutogenModules/Package/setup.out +++ b/cabal-testsuite/PackageTests/AutogenModules/Package/setup.out @@ -14,7 +14,7 @@ On executable 'Exe' an 'autogen-module' is not on 'other-modules' On test suite 'Test' an 'autogen-module' is not on 'other-modules' On benchmark 'Bench' an 'autogen-module' is not on 'other-modules' Packages using 'cabal-version: 2.0' and the autogenerated module Paths_* must include it also on the 'autogen-modules' field besides 'exposed-modules' and 'other-modules'. This specifies that the module does not come with the package and is generated on setup. Modules built with a custom Setup.hs script also go here to ensure that commands like sdist don't fail. -The filename ./my.cabal does not match package name (expected: AutogenModules.cabal) +The filename './my.cabal' does not match package name (expected: 'AutogenModules.cabal') Note: the public hackage server would reject this package. Building source dist for AutogenModules-0.1... setup: Error: Could not find module: MyLibHelperModule with any suffix: ["gc","chs","hsc","x","y","ly","cpphs","hs","lhs","hsig","lhsig"]. If the module is autogenerated it should be added to 'autogen-modules'. diff --git a/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.out b/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.out index 191daf93c29ba9f43e9057a6e44b91c1fb057d92..d5058239ef671dac7e275f29b37b74275e3037e8 100644 --- a/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.out +++ b/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.out @@ -34,11 +34,9 @@ Building library 'mylib' instantiated with Database = Includes2-0.1.0.0-inplace-postgresql:Database.PostgreSQL for Includes2-0.1.0.0.. Configuring library for Includes2-0.1.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: Includes2:{mylib, mysql, postgresql} (((>=0 && >=0 && >=0) && ==0.1.0.0) && ==0.1.0.0) && ==0.1.0.0, Includes2 ((>=0 && ==0.1.0.0) && ==0.1.0.0) && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing library for Includes2-0.1.0.0.. Building library for Includes2-0.1.0.0.. Configuring executable 'exe' for Includes2-0.1.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: Includes2:{mylib, mysql, postgresql} (>=0 && >=0 && >=0) && ==0.1.0.0, Includes2 >=0 && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'exe' for Includes2-0.1.0.0.. Building executable 'exe' for Includes2-0.1.0.0.. # Includes2 exe diff --git a/cabal-testsuite/PackageTests/BuildDeps/InternalLibrary1/cabal.out b/cabal-testsuite/PackageTests/BuildDeps/InternalLibrary1/cabal.out index 1aa2d34312e4e4c404e6618d4913e3d27138ab6f..de1c7309960eb7f226e7183a74d11a4ed6bf8540 100644 --- a/cabal-testsuite/PackageTests/BuildDeps/InternalLibrary1/cabal.out +++ b/cabal-testsuite/PackageTests/BuildDeps/InternalLibrary1/cabal.out @@ -8,6 +8,5 @@ Configuring library for InternalLibrary1-0.1.. Preprocessing library for InternalLibrary1-0.1.. Building library for InternalLibrary1-0.1.. Configuring executable 'lemon' for InternalLibrary1-0.1.. -Warning: The package has an extraneous version range for a dependency on an internal library: InternalLibrary1 >=0 && ==0.1. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'lemon' for InternalLibrary1-0.1.. Building executable 'lemon' for InternalLibrary1-0.1.. diff --git a/cabal-testsuite/PackageTests/BuildTools/Internal/cabal.out b/cabal-testsuite/PackageTests/BuildTools/Internal/cabal.out index 29655811a97752a8b96053d47da61462194f2f39..8cb4ac09bcda5e777a4a78cbbfe222bd93ca1f61 100644 --- a/cabal-testsuite/PackageTests/BuildTools/Internal/cabal.out +++ b/cabal-testsuite/PackageTests/BuildTools/Internal/cabal.out @@ -12,6 +12,5 @@ Configuring library for foo-0.1.0.0.. Preprocessing library for foo-0.1.0.0.. Building library for foo-0.1.0.0.. Configuring executable 'hello-world' for foo-0.1.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: foo >=0 && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'hello-world' for foo-0.1.0.0.. Building executable 'hello-world' for foo-0.1.0.0.. diff --git a/cabal-testsuite/PackageTests/CheckSetup/LICENSE b/cabal-testsuite/PackageTests/CheckSetup/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..6b1d0bfabc3c1cfa396e0270c55fdcec96919fba --- /dev/null +++ b/cabal-testsuite/PackageTests/CheckSetup/LICENSE @@ -0,0 +1 @@ +LICENSE diff --git a/cabal-testsuite/PackageTests/CheckSetup/MyLibrary.hs b/cabal-testsuite/PackageTests/CheckSetup/MyLibrary.hs new file mode 100644 index 0000000000000000000000000000000000000000..a51c414bcd2afa90a815f67d4a723a287d9e2779 --- /dev/null +++ b/cabal-testsuite/PackageTests/CheckSetup/MyLibrary.hs @@ -0,0 +1 @@ +module MyLibrary () where diff --git a/cabal-testsuite/PackageTests/CheckSetup/Setup.hs b/cabal-testsuite/PackageTests/CheckSetup/Setup.hs new file mode 100644 index 0000000000000000000000000000000000000000..9a994af677b0dfd41b4e3b76b3e7e604003d64e1 --- /dev/null +++ b/cabal-testsuite/PackageTests/CheckSetup/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/cabal-testsuite/PackageTests/CheckSetup/my.cabal b/cabal-testsuite/PackageTests/CheckSetup/my.cabal new file mode 100644 index 0000000000000000000000000000000000000000..538e6375142662383df396498843aefb3ea4f687 --- /dev/null +++ b/cabal-testsuite/PackageTests/CheckSetup/my.cabal @@ -0,0 +1,25 @@ +name: CheckSetup +version: 0.1 +license: BSD3 +license-file: LICENSE +author: Alexander Vershilov +maintainer: Alexander Vershilov +synopsis: Check setup +category: PackageTests +build-type: Custom +cabal-version: 2.0 + +description: + Check that Cabal recognizes problems with setup module. + +custom-setup + setup-depends: + base, + Cabal, + bytestring + +Library + default-language: Haskell2010 + build-depends: base <5.0 + exposed-modules: + MyLibrary diff --git a/cabal-testsuite/PackageTests/CheckSetup/setup.test.hs b/cabal-testsuite/PackageTests/CheckSetup/setup.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..96ed43957859ce6a8779434dc89e2baffe57f2e4 --- /dev/null +++ b/cabal-testsuite/PackageTests/CheckSetup/setup.test.hs @@ -0,0 +1,20 @@ +import Test.Cabal.Prelude + +-- Test that setup shows all the 'autogen-modules' warnings. +main = cabalTest $ do + + checkResult <- fails $ cabal_raw' ["check"] Nothing + + -- Package check messages. + let libError1 = + "The dependency 'setup-depends: 'Cabal' does not specify " + ++ "an upper bound on the version number" + libError2 = + "The dependency 'setup-depends: 'base' does not specify " + ++ "an upper bound on the version number" + + -- Asserts for the desired check messages after configure. + assertOutputContains libError1 checkResult + assertOutputContains libError2 checkResult + + return () diff --git a/cabal-testsuite/PackageTests/CmmSources/cabal.out b/cabal-testsuite/PackageTests/CmmSources/cabal.out index 939ed0ad85ad24a80ba8b206fd1fdf726e35b647..3bfcc34ff7d44c0c7e1ebcc2d92da31bf021d38c 100644 --- a/cabal-testsuite/PackageTests/CmmSources/cabal.out +++ b/cabal-testsuite/PackageTests/CmmSources/cabal.out @@ -8,6 +8,5 @@ Configuring library for cmmexperiment-0.. Preprocessing library for cmmexperiment-0.. Building library for cmmexperiment-0.. Configuring executable 'demo' for cmmexperiment-0.. -Warning: The package has an extraneous version range for a dependency on an internal library: cmmexperiment >=0 && ==0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'demo' for cmmexperiment-0.. Building executable 'demo' for cmmexperiment-0.. diff --git a/cabal-testsuite/PackageTests/CmmSourcesDyn/cabal.out b/cabal-testsuite/PackageTests/CmmSourcesDyn/cabal.out index 939ed0ad85ad24a80ba8b206fd1fdf726e35b647..3bfcc34ff7d44c0c7e1ebcc2d92da31bf021d38c 100644 --- a/cabal-testsuite/PackageTests/CmmSourcesDyn/cabal.out +++ b/cabal-testsuite/PackageTests/CmmSourcesDyn/cabal.out @@ -8,6 +8,5 @@ Configuring library for cmmexperiment-0.. Preprocessing library for cmmexperiment-0.. Building library for cmmexperiment-0.. Configuring executable 'demo' for cmmexperiment-0.. -Warning: The package has an extraneous version range for a dependency on an internal library: cmmexperiment >=0 && ==0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'demo' for cmmexperiment-0.. Building executable 'demo' for cmmexperiment-0.. diff --git a/cabal-testsuite/PackageTests/InternalLibraries/cabal.out b/cabal-testsuite/PackageTests/InternalLibraries/cabal.out index d4124669bb124c299a78c468a05e502f768ceb3c..ac9fbcdf14c7741bd89a791dae463177ddba691c 100644 --- a/cabal-testsuite/PackageTests/InternalLibraries/cabal.out +++ b/cabal-testsuite/PackageTests/InternalLibraries/cabal.out @@ -9,10 +9,8 @@ Configuring library 'q' for p-0.1.0.0.. Preprocessing library 'q' for p-0.1.0.0.. Building library 'q' for p-0.1.0.0.. Configuring executable 'foo' for p-0.1.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: p:q >=0 && ==0.1.0.0, p:q >=0 && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'foo' for p-0.1.0.0.. Building executable 'foo' for p-0.1.0.0.. Configuring library for p-0.1.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: p:q >=0 && ==0.1.0.0, p:q >=0 && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing library for p-0.1.0.0.. Building library for p-0.1.0.0.. diff --git a/cabal-testsuite/PackageTests/InternalVersions/BuildDependsExtra/setup.test.hs b/cabal-testsuite/PackageTests/InternalVersions/BuildDependsExtra/setup.test.hs index b0b4e9bc58edb38942287c3042925a65c2b8dbc1..c006efe6f7248f1b57962b66119c8769624820df 100644 --- a/cabal-testsuite/PackageTests/InternalVersions/BuildDependsExtra/setup.test.hs +++ b/cabal-testsuite/PackageTests/InternalVersions/BuildDependsExtra/setup.test.hs @@ -1,6 +1,6 @@ import Test.Cabal.Prelude -- Test unneed version bound on internal build-tools deps -main = setupAndCabalTest $ do +main = setupAndCabalTest . expectBroken 7470 $ do setup' "configure" [] assertOutputContains "extraneous version range" =<< setup' "sdist" [] diff --git a/cabal-testsuite/PackageTests/InternalVersions/BuildToolDependsExtra/setup.test.hs b/cabal-testsuite/PackageTests/InternalVersions/BuildToolDependsExtra/setup.test.hs index b0b4e9bc58edb38942287c3042925a65c2b8dbc1..c006efe6f7248f1b57962b66119c8769624820df 100644 --- a/cabal-testsuite/PackageTests/InternalVersions/BuildToolDependsExtra/setup.test.hs +++ b/cabal-testsuite/PackageTests/InternalVersions/BuildToolDependsExtra/setup.test.hs @@ -1,6 +1,6 @@ import Test.Cabal.Prelude -- Test unneed version bound on internal build-tools deps -main = setupAndCabalTest $ do +main = setupAndCabalTest . expectBroken 7470 $ do setup' "configure" [] assertOutputContains "extraneous version range" =<< setup' "sdist" [] diff --git a/cabal-testsuite/PackageTests/InternalVersions/BuildToolsExtra/setup.test.hs b/cabal-testsuite/PackageTests/InternalVersions/BuildToolsExtra/setup.test.hs index b0b4e9bc58edb38942287c3042925a65c2b8dbc1..c006efe6f7248f1b57962b66119c8769624820df 100644 --- a/cabal-testsuite/PackageTests/InternalVersions/BuildToolsExtra/setup.test.hs +++ b/cabal-testsuite/PackageTests/InternalVersions/BuildToolsExtra/setup.test.hs @@ -1,6 +1,6 @@ import Test.Cabal.Prelude -- Test unneed version bound on internal build-tools deps -main = setupAndCabalTest $ do +main = setupAndCabalTest . expectBroken 7470 $ do setup' "configure" [] assertOutputContains "extraneous version range" =<< setup' "sdist" [] diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T6083Post/cabal.out b/cabal-testsuite/PackageTests/MultipleLibraries/T6083Post/cabal.out index 4f0b36fea492a6a8051d1d974a5539c02b22f75d..f82d177063620996ddafab930f6287028fe40b4e 100644 --- a/cabal-testsuite/PackageTests/MultipleLibraries/T6083Post/cabal.out +++ b/cabal-testsuite/PackageTests/MultipleLibraries/T6083Post/cabal.out @@ -10,6 +10,5 @@ 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.. -Warning: The package has an extraneous version range for a dependency on an internal library: pkg-def >=0 && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'program' for pkg-abc-0.1.0.0.. Building executable 'program' for pkg-abc-0.1.0.0.. diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T6083PostMixin/cabal.out b/cabal-testsuite/PackageTests/MultipleLibraries/T6083PostMixin/cabal.out index e249741e23a0c50a93f4183bc693ef644412e846..e6c014b160b9d8ea7288e38a253bab2124b30d49 100644 --- a/cabal-testsuite/PackageTests/MultipleLibraries/T6083PostMixin/cabal.out +++ b/cabal-testsuite/PackageTests/MultipleLibraries/T6083PostMixin/cabal.out @@ -11,6 +11,5 @@ 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.. -Warning: The package has an extraneous version range for a dependency on an internal library: pkg-def >=0 && ==0.1.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'program' for pkg-abc-0.1.0.0.. Building executable 'program' for pkg-abc-0.1.0.0.. diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T6894/cabal.out b/cabal-testsuite/PackageTests/MultipleLibraries/T6894/cabal.out index f8a13f7425f8795da5510cde3150d8356e299a85..a8ef5791bbb96bafee5cba8f8394b6fbc28d5bec 100644 --- a/cabal-testsuite/PackageTests/MultipleLibraries/T6894/cabal.out +++ b/cabal-testsuite/PackageTests/MultipleLibraries/T6894/cabal.out @@ -10,6 +10,5 @@ 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.. -Warning: The package has an extraneous version range for a dependency on an internal library: issue:sublib >=0 && ==6894. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing library for issue-6894.. Building library for issue-6894.. diff --git a/cabal-testsuite/PackageTests/Regression/T5213/cabal.out b/cabal-testsuite/PackageTests/Regression/T5213/cabal.out index 2605a5c60ebcf53c22e40bace5d11f16e86bc036..096ac64545cad9fd23e52f6bd797e9e8e3b0d6aa 100644 --- a/cabal-testsuite/PackageTests/Regression/T5213/cabal.out +++ b/cabal-testsuite/PackageTests/Regression/T5213/cabal.out @@ -8,7 +8,6 @@ Configuring library for cabal-gh5213-0.1.. Preprocessing library for cabal-gh5213-0.1.. Building library for cabal-gh5213-0.1.. Configuring test suite 'tests' for cabal-gh5213-0.1.. -Warning: The package has an extraneous version range for a dependency on an internal library: cabal-gh5213 >=0 && ==0.1. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing test suite 'tests' for cabal-gh5213-0.1.. Building test suite 'tests' for cabal-gh5213-0.1.. Running 1 test suites... diff --git a/cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.out b/cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.out index 30f8a730dc9ec8f362093eab6879b7146438b740..3b888a6899d3426d4d579d58f5be816335e1ada2 100644 --- a/cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.out +++ b/cabal-testsuite/PackageTests/Regression/T5213ExeCoverage/cabal.out @@ -8,7 +8,6 @@ Configuring library for cabal-gh5213-0.1.. Preprocessing library for cabal-gh5213-0.1.. Building library for cabal-gh5213-0.1.. Configuring test suite 'tests' for cabal-gh5213-0.1.. -Warning: The package has an extraneous version range for a dependency on an internal library: cabal-gh5213 >=0 && ==0.1. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing test suite 'tests' for cabal-gh5213-0.1.. Building test suite 'tests' for cabal-gh5213-0.1.. Running 1 test suites... diff --git a/cabal-testsuite/PackageTests/Regression/T5309/cabal.out b/cabal-testsuite/PackageTests/Regression/T5309/cabal.out index c1ce1436805ca34502d43b1cfe10083dd82d416e..4d9d7c8dc6e4c2a07e7d615f74c6c5dec893060e 100644 --- a/cabal-testsuite/PackageTests/Regression/T5309/cabal.out +++ b/cabal-testsuite/PackageTests/Regression/T5309/cabal.out @@ -12,7 +12,6 @@ Configuring executable 'exe-no-lib' for T5309-1.0.0.0.. Preprocessing executable 'exe-no-lib' for T5309-1.0.0.0.. Building executable 'exe-no-lib' for T5309-1.0.0.0.. Configuring executable 'exe-with-lib' for T5309-1.0.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: T5309 >=0 && ==1.0.0.0, T5309 >=0 && ==1.0.0.0, T5309 >=0 && ==1.0.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'exe-with-lib' for T5309-1.0.0.0.. Building executable 'exe-with-lib' for T5309-1.0.0.0.. # cabal v2-test @@ -29,7 +28,6 @@ Test suite test-no-lib: PASS Test suite logged to: <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/T5309-1.0.0.0/t/test-no-lib/test/T5309-1.0.0.0-test-no-lib.log 1 of 1 test suites (1 of 1 test cases) passed. Configuring test suite 'test-with-lib' for T5309-1.0.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: T5309 >=0 && ==1.0.0.0, T5309 >=0 && ==1.0.0.0, T5309 >=0 && ==1.0.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing test suite 'test-with-lib' for T5309-1.0.0.0.. Building test suite 'test-with-lib' for T5309-1.0.0.0.. Running 1 test suites... @@ -49,7 +47,6 @@ Running 1 benchmarks... Benchmark bench-no-lib: RUNNING... Benchmark bench-no-lib: FINISH Configuring benchmark 'bench-with-lib' for T5309-1.0.0.0.. -Warning: The package has an extraneous version range for a dependency on an internal library: T5309 >=0 && ==1.0.0.0, T5309 >=0 && ==1.0.0.0, T5309 >=0 && ==1.0.0.0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing benchmark 'bench-with-lib' for T5309-1.0.0.0.. Building benchmark 'bench-with-lib' for T5309-1.0.0.0.. Running 1 benchmarks... diff --git a/cabal-testsuite/PackageTests/Regression/T5677/cabal.out b/cabal-testsuite/PackageTests/Regression/T5677/cabal.out index aec1f55ca456024698e5eb0802d40e27f8b9a932..5207c5bb5e92960b30feda6e1f707e5e2b2b9ddb 100644 --- a/cabal-testsuite/PackageTests/Regression/T5677/cabal.out +++ b/cabal-testsuite/PackageTests/Regression/T5677/cabal.out @@ -24,6 +24,5 @@ Preprocessing library for prog-0.. Building library instantiated with Sig = impl-0-inplace:Sig for prog-0.. Configuring executable 'prog' for prog-0.. -Warning: The package has an extraneous version range for a dependency on an internal library: prog >=0 && ==0. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing executable 'prog' for prog-0.. Building executable 'prog' for prog-0.. diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/ModuleA.hs b/cabal-testsuite/PackageTests/ReplNoLoad/ModuleA.hs new file mode 100644 index 0000000000000000000000000000000000000000..c449728173ea4d27428da4b57b5800cb9887a6d0 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/ModuleA.hs @@ -0,0 +1,4 @@ +module ModuleA where + +a :: Int +a = 42 diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/ModuleB.hs b/cabal-testsuite/PackageTests/ReplNoLoad/ModuleB.hs new file mode 100644 index 0000000000000000000000000000000000000000..55e1fbf0238d4cd16b1e68d6f5ff875519864460 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/ModuleB.hs @@ -0,0 +1,6 @@ +module Main where + +import ModuleC + +main :: IO () +main = print c diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/ModuleC.hs b/cabal-testsuite/PackageTests/ReplNoLoad/ModuleC.hs new file mode 100644 index 0000000000000000000000000000000000000000..45bcb062103b961e46ca4c02a3e7f468eb188382 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/ModuleC.hs @@ -0,0 +1,4 @@ +module ModuleC where + +c :: Int +c = 42 diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal-repl-no-load.cabal b/cabal-testsuite/PackageTests/ReplNoLoad/cabal-repl-no-load.cabal new file mode 100644 index 0000000000000000000000000000000000000000..dbc58536eb45cfe439317f95110161d255c9aef7 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal-repl-no-load.cabal @@ -0,0 +1,15 @@ +name: cabal-repl-no-load +version: 0.1 +build-type: Simple +cabal-version: >= 1.10 + +library + exposed-modules: ModuleA + build-depends: base + default-language: Haskell2010 + +executable exec + main-is: ModuleB.hs + other-modules: ModuleC + build-depends: base + default-language: Haskell2010 diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal.exec-no-load.out b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.exec-no-load.out new file mode 100644 index 0000000000000000000000000000000000000000..be864329e7196dd9c629ced939690034b5934ee7 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.exec-no-load.out @@ -0,0 +1,8 @@ +# cabal clean +# cabal repl +Resolving dependencies... +Build profile: -w ghc-<GHCVER> -O1 +In order, the following will be built: + - cabal-repl-no-load-0.1 (lib) (first run) +Configuring library for cabal-repl-no-load-0.1.. +Preprocessing library for cabal-repl-no-load-0.1.. diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal.exec-normal.out b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.exec-normal.out new file mode 100644 index 0000000000000000000000000000000000000000..4c4a284cb88e0ec46608d71497aeaa5d2d689815 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.exec-normal.out @@ -0,0 +1,8 @@ +# cabal clean +# cabal repl +Resolving dependencies... +Build profile: -w ghc-<GHCVER> -O1 +In order, the following will be built: + - cabal-repl-no-load-0.1 (exe:exec) (first run) +Configuring executable 'exec' for cabal-repl-no-load-0.1.. +Preprocessing executable 'exec' for cabal-repl-no-load-0.1.. diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal.lib-no-load.out b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.lib-no-load.out new file mode 100644 index 0000000000000000000000000000000000000000..be864329e7196dd9c629ced939690034b5934ee7 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.lib-no-load.out @@ -0,0 +1,8 @@ +# cabal clean +# cabal repl +Resolving dependencies... +Build profile: -w ghc-<GHCVER> -O1 +In order, the following will be built: + - cabal-repl-no-load-0.1 (lib) (first run) +Configuring library for cabal-repl-no-load-0.1.. +Preprocessing library for cabal-repl-no-load-0.1.. diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal.lib-normal.out b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.lib-normal.out new file mode 100644 index 0000000000000000000000000000000000000000..be864329e7196dd9c629ced939690034b5934ee7 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.lib-normal.out @@ -0,0 +1,8 @@ +# cabal clean +# cabal repl +Resolving dependencies... +Build profile: -w ghc-<GHCVER> -O1 +In order, the following will be built: + - cabal-repl-no-load-0.1 (lib) (first run) +Configuring library for cabal-repl-no-load-0.1.. +Preprocessing library for cabal-repl-no-load-0.1.. diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal.project b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.project new file mode 100644 index 0000000000000000000000000000000000000000..e6fdbadb4398bc0e333947b5fb8021778310d943 --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.project @@ -0,0 +1 @@ +packages: . diff --git a/cabal-testsuite/PackageTests/ReplNoLoad/cabal.test.hs b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..d4f373dfb431f770621ef14dc7b6fd78b5d2a9cc --- /dev/null +++ b/cabal-testsuite/PackageTests/ReplNoLoad/cabal.test.hs @@ -0,0 +1,19 @@ +import Test.Cabal.Prelude + +main = do + cabalTest' "lib-normal" $ do + cabal' "clean" [] + res <- cabalWithStdin "repl" [] ":show modules" + assertOutputContains "Ok, one module loaded." res + cabalTest' "lib-no-load" $ do + cabal' "clean" [] + res <- cabalWithStdin "repl" ["--repl-no-load"] ":show modules" + assertOutputDoesNotContain "Ok, one module loaded." res + cabalTest' "exec-normal" $ do + cabal' "clean" [] + res <- cabalWithStdin "repl" ["exec"] ":show modules" + assertOutputContains "Ok, two modules loaded." res + cabalTest' "exec-no-load" $ do + cabal' "clean" [] + res <- cabalWithStdin "repl" ["--repl-no-load"] ":show modules" + assertOutputDoesNotContain "Ok, two modules loaded." res diff --git a/cabal-testsuite/PackageTests/TestSuiteTests/ExeV10/cabal.out b/cabal-testsuite/PackageTests/TestSuiteTests/ExeV10/cabal.out index 083b069f225f1d341628f9f797252f599d8634e1..d300a8acdf9d8d1b4cd7a35db94c11152f26f58c 100644 --- a/cabal-testsuite/PackageTests/TestSuiteTests/ExeV10/cabal.out +++ b/cabal-testsuite/PackageTests/TestSuiteTests/ExeV10/cabal.out @@ -9,7 +9,6 @@ Configuring library for my-0.1.. Preprocessing library for my-0.1.. Building library for my-0.1.. Configuring test suite 'test-Short' for my-0.1.. -Warning: The package has an extraneous version range for a dependency on an internal library: my >=0 && ==0.1, my >=0 && ==0.1. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing test suite 'test-Short' for my-0.1.. Building test suite 'test-Short' for my-0.1.. Running 1 test suites... @@ -18,7 +17,6 @@ Test suite test-Short: PASS Test suite logged to: <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/my-0.1/t/test-Short/test/my-0.1-test-Short.log 1 of 1 test suites (1 of 1 test cases) passed. Configuring test suite 'test-Foo' for my-0.1.. -Warning: The package has an extraneous version range for a dependency on an internal library: my >=0 && ==0.1, my >=0 && ==0.1. This version range includes the current package but isn't needed as the current package's library will always be used. Preprocessing test suite 'test-Foo' for my-0.1.. Building test suite 'test-Foo' for my-0.1.. Running 1 test suites... diff --git a/cabal-testsuite/cabal-testsuite.cabal b/cabal-testsuite/cabal-testsuite.cabal index fd2689bd1725cec7b157a6355bad77b5aed14d64..a3a9ad46f276e8b89a65e1592c6b9cdb8b9b84b4 100644 --- a/cabal-testsuite/cabal-testsuite.cabal +++ b/cabal-testsuite/cabal-testsuite.cabal @@ -28,7 +28,7 @@ common shared build-depends: , base >= 4.6 && <4.16 -- this needs to match the in-tree lib:Cabal version - , Cabal == 3.6.0.0 + , Cabal == 3.7.0.0 ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns diff --git a/cabal-testsuite/src/Test/Cabal/Monad.hs b/cabal-testsuite/src/Test/Cabal/Monad.hs index c320282c301bc000bdfaa320aaa16626aa85ac92..fa1407eae03dc7288cc7dd2090d5bd74609f25a9 100644 --- a/cabal-testsuite/src/Test/Cabal/Monad.hs +++ b/cabal-testsuite/src/Test/Cabal/Monad.hs @@ -6,6 +6,7 @@ module Test.Cabal.Monad ( setupAndCabalTest, setupTest, cabalTest, + cabalTest', -- * The monad TestM, runTestM, diff --git a/changelog.d/issue-4683 b/changelog.d/issue-4683 new file mode 100644 index 0000000000000000000000000000000000000000..9fc7de453388c1ac3850d6350d7fb24d086c0391 --- /dev/null +++ b/changelog.d/issue-4683 @@ -0,0 +1,4 @@ +synopsis: 'cabal check' to fail when no upper bounds for base or Cabal are present in setup dependencies +packages: Cabal, cabal-install +issues: #4683 +prs: #5370, #7409 diff --git a/changelog.d/issue-7541 b/changelog.d/issue-7541 new file mode 100644 index 0000000000000000000000000000000000000000..dee2e0be9f3f9c9f435e242964280925011acb21 --- /dev/null +++ b/changelog.d/issue-7541 @@ -0,0 +1,4 @@ +synopsis: '--repl-no-load' option skips startup modules load in REPL +issues: #7541 +packages: Cabal cabal-install +prs: #7578 \ No newline at end of file diff --git a/changelog.d/option-argument-errors b/changelog.d/option-argument-errors new file mode 100644 index 0000000000000000000000000000000000000000..d2e9019019aca982c5b2e0d18159bafe74bb9c0b --- /dev/null +++ b/changelog.d/option-argument-errors @@ -0,0 +1,9 @@ +synopsis: Handle option argument parse errors without 'error' +packages: Cabal, cabal-install +prs: #7579 +issues: #7573 +description: { +- Errors parsing arguments such as `-v=3` no longer result in + stack traces. +- `Distribution.ReadE.readEOrFail` was removed. +} diff --git a/changelog.d/path-validation b/changelog.d/path-validation new file mode 100644 index 0000000000000000000000000000000000000000..79e3f0d7b9b4e681a61f0ecac1e64e0c7e56948f --- /dev/null +++ b/changelog.d/path-validation @@ -0,0 +1,11 @@ +synopsis: Fix bugs in filename validation +packages: Cabal +prs: #7429 #7479 +issues: #7426 + +description: { + +- Relative paths starting with single-character directories are now properly allowed +- `cabal check` rejects paths which are invalid on Windows or in tarballs + +} diff --git a/changelog.d/pr-7352 b/changelog.d/pr-7352 new file mode 100644 index 0000000000000000000000000000000000000000..74f188af4ea9579313e01eed6c718878a428a0c5 --- /dev/null +++ b/changelog.d/pr-7352 @@ -0,0 +1,3 @@ +synopsis: Set -Wno-prepositive-qualified-module in Paths_*.hs +packages: Cabal +prs: #7352 diff --git a/changelog.d/pr-7402 b/changelog.d/pr-7402 index bbf89365be6701a2179b2c704432dcad6f5c1a69..1b60872a8e83a3d8b08fc74669228ddbe0d4034b 100644 --- a/changelog.d/pr-7402 +++ b/changelog.d/pr-7402 @@ -7,7 +7,7 @@ description: { - Removes the --dry-run part of the v2-configure command - Adds an --append flag to v2-configure, which allows new configuration to be appended to the old config file -- Adds an --overwrite flag to v2-configure, which disables the backup feature for the config file +- Adds a --backup flag to v2-configure, which enables the backup feature for the config file - Includes unit tests for everything } diff --git a/changelog.d/pr-7470 b/changelog.d/pr-7470 new file mode 100644 index 0000000000000000000000000000000000000000..cd8fd9dfb2d8aa8b1a491976e9f8d789b77d930a --- /dev/null +++ b/changelog.d/pr-7470 @@ -0,0 +1,4 @@ +synopsis: adds a verbosity flag "+nowarn", to suppress all warnings +packages: cabal-install +prs: #7470 +issues: #7286 \ No newline at end of file diff --git a/changelog.d/pr-7470-backport b/changelog.d/pr-7470-backport new file mode 100644 index 0000000000000000000000000000000000000000..4775abf0bebc83d6216c4bb083186612a5c04079 --- /dev/null +++ b/changelog.d/pr-7470-backport @@ -0,0 +1,4 @@ +synopsis: removes the warnings for extraneous versions +packages: cabal-install +prs: #7470 +issues: #7286 \ No newline at end of file diff --git a/changelog.d/pr-7526-lazily-decode-cache-files b/changelog.d/pr-7526-lazily-decode-cache-files new file mode 100644 index 0000000000000000000000000000000000000000..4cdb3acc2042a35b3fa70432aaaecabd8e9a97e6 --- /dev/null +++ b/changelog.d/pr-7526-lazily-decode-cache-files @@ -0,0 +1,7 @@ +synopsis: lazily decode cache files for checking invalidation +prs: #7516 +issues: #7466 +packages: cabal-install +description { +- This yields a significant 15% speedup on rebuilding build plans for projects with lots of individual cabal packages. +} \ No newline at end of file diff --git a/changelog.d/pr-7536 b/changelog.d/pr-7536 new file mode 100644 index 0000000000000000000000000000000000000000..d4596fbde746da9d0e42c05a8a53ec56941b8b9a --- /dev/null +++ b/changelog.d/pr-7536 @@ -0,0 +1,4 @@ +synopsis: Add fields extra-libraries-static and extra-lib-dirs-static +packages: Cabal +prs: #7536 +issues: #7399, #6688 diff --git a/changelog.d/pr-7550 b/changelog.d/pr-7550 new file mode 100644 index 0000000000000000000000000000000000000000..e95e220acdccbb2a737fa7acdbd66d10a3e70f74 --- /dev/null +++ b/changelog.d/pr-7550 @@ -0,0 +1,4 @@ +synopsis: Add --open flag to `cabal haddock` +packages: cabal-install +prs: #7550 +issues: #7366 diff --git a/changelog.d/pr-7561 b/changelog.d/pr-7561 new file mode 100644 index 0000000000000000000000000000000000000000..80095608308d7992470af57cd9e1855493f033ec --- /dev/null +++ b/changelog.d/pr-7561 @@ -0,0 +1,7 @@ +synopsis: defer build-tools-depends choices as well as setup choices +prs: #7532 #7561 +description { + +- extends the existing solver pass that defers solving setup depends until top-level goals are solved to also defer build-tool-depends goals until top level goals are solved. +- constraints at the top level (on versions, flags, stanzas, etc) are applied first and only then are attempts made to build the less-constrained qualified goals, significantly streamlining the production of valid build plans. +} \ No newline at end of file diff --git a/changelog.d/rel-path-check b/changelog.d/rel-path-check deleted file mode 100644 index 69e6b3a936c5ffdc5205ba7ee6fbe414b85b82c2..0000000000000000000000000000000000000000 --- a/changelog.d/rel-path-check +++ /dev/null @@ -1,4 +0,0 @@ -synopsis: Allow relative paths starting with single-charater directories -packages: Cabal -prs: #7429 -issues: #7426 diff --git a/changelog.d/sync-repo-darcs b/changelog.d/sync-repo-darcs new file mode 100644 index 0000000000000000000000000000000000000000..3bbd63c2c18678f5b0e82cc1272b7fb4670aafd9 --- /dev/null +++ b/changelog.d/sync-repo-darcs @@ -0,0 +1,2 @@ +synopsis: Sync repo darcs +prs: #7137 diff --git a/doc/buildinfo-fields-reference.rst b/doc/buildinfo-fields-reference.rst index 48419d981e00a5102213476b70e04a8f64b9e000..1fdf055f1c79ac923a754667ede8b087fd6f29bc 100644 --- a/doc/buildinfo-fields-reference.rst +++ b/doc/buildinfo-fields-reference.rst @@ -86,10 +86,10 @@ Field syntax is described as they are in the latest cabal file format version. .. math:: - + \mathbf{fix}\; \mathit{expr}\; \mathbf{in}\; \mathit{digit} \mid \mathit{expr} \circ \mathord{``}\mathtt{+}\mathord{"} \circ \mathit{expr} - \mid \mathord{``}\mathtt{(} \mathord{"} \circ \mathit{expr} \circ \mathord{``}\mathtt{)}\mathord{"} + \mid \mathord{``}\mathtt{(} \mathord{"} \circ \mathit{expr} \circ \mathord{``}\mathtt{)}\mathord{"} Lists ----- @@ -336,6 +336,13 @@ extra-lib-dirs .. math:: \mathrm{optcommalist}\left\{ \mathop{\mathit{hs\text{-}string}}\mid{{[\mathop{\mathord{``}\mathtt{\ }\mathord{"}}\mathop{\mathord{``}\mathtt{\text{,}}\mathord{"}}]^c}}^+_{} \right\} +extra-lib-dirs-static + * Monoidal field + * Documentation of :pkg-field:`extra-lib-dirs-static` + + .. math:: + \mathrm{optcommalist}\left\{ \mathop{\mathit{hs\text{-}string}}\mid{{[\mathop{\mathord{``}\mathtt{\ }\mathord{"}}\mathop{\mathord{``}\mathtt{\text{,}}\mathord{"}}]^c}}^+_{} \right\} + extra-libraries * Monoidal field * Documentation of :pkg-field:`extra-libraries` @@ -350,6 +357,13 @@ extra-library-flavours .. math:: \mathrm{commalist}\left\{ \mathop{\mathit{hs\text{-}string}}\mid{{[\mathop{\mathord{``}\mathtt{\ }\mathord{"}}\mathop{\mathord{``}\mathtt{\text{,}}\mathord{"}}]^c}}^+_{} \right\} +extra-libraries + * Monoidal field + * Documentation of :pkg-field:`extra-libraries-static` + + .. math:: + \mathrm{commalist}\left\{ \mathop{\mathit{hs\text{-}string}}\mid{{[\mathop{\mathord{``}\mathtt{\ }\mathord{"}}\mathop{\mathord{``}\mathtt{\text{,}}\mathord{"}}]^c}}^+_{} \right\} + frameworks * Monoidal field * Documentation of :pkg-field:`frameworks` @@ -650,5 +664,3 @@ type .. math:: \left\{ \mathop{\mathord{``}\mathtt{exitcode\text{-}stdio\text{-}1\text{.}0}\mathord{"}}\mid\mathop{\mathord{``}\mathtt{detailed\text{-}0\text{.}9}\mathord{"}} \right\} - - diff --git a/doc/cabal-commands.rst b/doc/cabal-commands.rst index 0b1fc3effa604ce3fb8ec18a61c3639474ed4ad0..d3df212cf51fae32c36024b0289da55362b375d4 100644 --- a/doc/cabal-commands.rst +++ b/doc/cabal-commands.rst @@ -48,7 +48,7 @@ by simply overwriting it all. Overwriting is the default behaviour, as such, there's a flag ``--enable-append`` to append the new configurations instead. Since overwriting is rather destructive in nature, a backup system is in place, which moves the old configuration to a ``cabal.project.local~`` -file, this feature can also be disabled by using the ``--enable-overwrite`` +file, this feature can also be disabled by using the ``--enable-backup`` flag. cabal v2-update @@ -142,7 +142,7 @@ cabal v2-repl ``cabal v2-repl TARGET`` loads all of the modules of the target into GHCi as interpreted bytecode. In addition to ``cabal v2-build``'s flags, -it takes an additional ``--repl-options`` flag. +it additionally takes the ``--repl-options`` and ``--repl-no-load`` flags. To avoid ``ghci`` specific flags from triggering unneeded global rebuilds these flags are now stripped from the internal configuration. As a result @@ -151,6 +151,8 @@ other repls). Instead, you should use the new ``--repl-options`` flag to specify these options to the invoked repl. (This flag also works on ``cabal repl`` and ``Setup repl`` on sufficiently new versions of Cabal.) +The ``repl-no-load`` flag disables the loading of target modules at startup. + Currently, it is not supported to pass multiple targets to ``v2-repl`` (``v2-repl`` will just successively open a separate GHCi session for each target.) diff --git a/doc/cabal-package.rst b/doc/cabal-package.rst index 8237ea5b5ce9f8143e095de756a07ebc274373d5..453c8e946497105160663d760c0575cc0e31e0b3 100644 --- a/doc/cabal-package.rst +++ b/doc/cabal-package.rst @@ -1821,12 +1821,12 @@ system-dependent values for these fields. build-tool-depends: mypackage:executable Cabal tries to make sure that all specified programs are atomically built and prepended - on the ``$PATH`` shell variable before building the component in question, but can only do + on the ``PATH`` shell variable before building the component in question, but can only do so for Nix-style builds. Specifically: a) For Nix-style local builds, both internal and external dependencies. b) For old-style builds, only for internal dependencies [#old-style-build-tool-depends]_. - It's up to the user to provide needed executables in this case under `$PATH.` + It's up to the user to provide needed executables in this case under ``PATH``. .. note:: @@ -2056,7 +2056,13 @@ system-dependent values for these fields. .. pkg-field:: extra-libraries: token list - A list of extra libraries to link with. + A list of extra libraries to link with (when not linking fully static + executables). + +.. pkg-field:: extra-libraries-static: token list + + A list of extra libraries to link with (when linking fully static + executables). .. pkg-field:: extra-ghci-libraries: token list @@ -2084,7 +2090,13 @@ system-dependent values for these fields. .. pkg-field:: extra-lib-dirs: directory list - A list of directories to search for libraries. + A list of directories to search for libraries (when not linking fully static + executables). + +.. pkg-field:: extra-lib-dirs-static: directory list + + A list of directories to search for libraries (when linking fully static + executables). .. pkg-field:: extra-library-flavours: notsure @@ -2138,7 +2150,7 @@ system-dependent values for these fields. setup described in the section on `system-dependent parameters`_. .. pkg-field:: hsc2hs-options: token list - :since 3.6 + :since: 3.6 Command-line arguments to be passed to ``hsc2hs``. @@ -3017,7 +3029,7 @@ Accessing data files from package code The placement on the target system of files listed in the :pkg-field:`data-files` field varies between systems, and in some cases one can even move packages around after installation (see `prefix -independence <installing-packages.html#prefix-independence>`__). To +independence <setup-commands.html#prefix-independence>`__). To enable packages to find these files in a portable way, Cabal generates a module called :file:`Paths_{pkgname}` (with any hyphens in *pkgname* replaced by underscores) during building, so that it may be imported by @@ -3477,5 +3489,5 @@ For more information about Backpack, check out the Some packages (ab)use :pkg-field:`build-depends` on old-style builds, but this has a few major drawbacks: - using Nix-style builds it's considered an error if you depend on a exe-only package via build-depends: the solver will refuse it. - - it may or may not place the executable on ``$PATH``. + - it may or may not place the executable on ``PATH``. - it does not ensure the correct version of the package is installed, so you might end up overwriting versions with each other. diff --git a/doc/cabal-project.rst b/doc/cabal-project.rst index ebd154cadd3fdf063d4ce53b6a3a067b2f4d3aa8..e66825957a0764de68b0958185e34bd4df74e040 100644 --- a/doc/cabal-project.rst +++ b/doc/cabal-project.rst @@ -182,7 +182,7 @@ This allows sharing of packages across different projects. .. cfg-field:: location: VCS location (usually URL) -.. cfg-field:: type: VCS tag +.. cfg-field:: tag: VCS tag .. cfg-field:: subdir: subdirectory list @@ -492,22 +492,59 @@ The following settings control the behavior of the dependency solver: :default: ``:rest`` - This allows to specify the active package repositories, - when multiple are specified. This is useful as you - can specify the order and the way active repositories are merged. + Specifies which of the package repositories defined in the configuration + should be active. It's also useful for specifying the order and the way + active repositories are merged. + + When searching for a certain version of a certain package name, the list of + active repositories is searched last-to-first. + + For example, suppose hackage.haskell.org has versions 1.0 and 2.0 of + package X, and my-repository has version 2.0 of a similarly named package. + Then, with the following configuration: + + :: + + -- Force my-repository to be the first repository considered + active-repositories: + , hackage.haskell.org + , my-repository + + version 2.0 of X will come from my-repository, and version 1.0 will come + from hackage.haskell.org. + + If we want to make a repository the sole provider of certain packages, we + can put it last in the active repositories list, and add the :override + modifier. + + For example, if we modify the previous example like this: :: - -- for packages in head.hackage - -- only versions in head.hackage are considered active-repositories: , hackage.haskell.org - , head.hackage:override + , my-repository:override - -- Force head.hackage to be the primary repository considered - active-repositories: :rest, head.hackage + then version 1.0 of package X won't be found in any case, because X is + present in my-repository only in version 2.0, and the :override forbids + searching for other versions of X further up the list. + + :override has no effect for package names that aren't present in the + overriding repository. + + The special repository reference :rest stands for "all the other repositories" + and can be useful to avoid lenghty lists of repository names: + + :: + + -- Force my-repository to be the first repository considered + active-repositories: :rest, my-repository + + The special repository reference "none" disables all repositories, effectively + putting cabal in "offline" mode: + + :: - -- "Offline" mode active-repositories: none @@ -605,7 +642,7 @@ feature was added. :synopsis: Path to compiler executable. Specify the path to a particular compiler to be used. If not an - absolute path, it will be resolved according to the :envvar:`PATH` + absolute path, it will be resolved according to the ``PATH`` environment. The type of the compiler (GHC, GHCJS, etc) must be consistent with the setting of the :cfg-field:`compiler` field. @@ -1369,6 +1406,13 @@ running ``setup haddock``. (TODO: Where does the documentation get put.) The command line variant of this flag is ``--keep-temp-files`` (for the ``haddock`` subcommand). +.. cfg-field:: open: boolean + :synopsis: Open generated documentation in-browser. + + When generating HTML documentation, attempt to open it in a browser + when complete. This will use ``xdg-open`` on Linux and BSD systems, + ``open`` on macOS, and ``start`` on Windows. + Advanced global configuration options ------------------------------------- diff --git a/doc/developing-packages.rst b/doc/developing-packages.rst index df01f9c42c79f0186ce61d2ac1d6f9a0105ddd19..42412c12a366771f8fbecc4c2c0fd2d669849535 100644 --- a/doc/developing-packages.rst +++ b/doc/developing-packages.rst @@ -283,7 +283,7 @@ and the executable can also be installed for convenince: $ cabal install When installed, the executable program lands in a special directory -for binaries that may or may not already be on your system's ``$PATH``. +for binaries that may or may not already be on your system's ``PATH``. If it is, the executable can be run by typing its filename on commandline. For installing libraries see the :ref:`adding-libraries` section. diff --git a/doc/file-format-changelog.rst b/doc/file-format-changelog.rst index 52116db587939027e5ec4161cb8c1de275eaabe1..cffa4edd578623a1f31dc99dbd73ed220ea6854f 100644 --- a/doc/file-format-changelog.rst +++ b/doc/file-format-changelog.rst @@ -19,6 +19,21 @@ relative to the respective preceding *published* version. versions of the ``Cabal`` library denote unreleased development branches which have no stability guarantee. +``cabal-version: 3.x`` +---------------------- + +* Added fields :pkg-field:`extra-libraries-static` and + :pkg-field:`extra-lib-dirs-static` to allow Haskell libraries to remember + linker flags needed for fully static linking of system libraries into + executables. + The existing field :pkg-field:`pkgconfig-depends` can used to append + the relevant output of ``pkg-config --libs --static`` to these new fields + automatically. + When :pkg-field:`extra-libraries-static` is not given, it defaults to + :pkg-field:`extra-libraries`. + When :pkg-field:`extra-lib-dirs-static` is not given, it defaults to + :pkg-field:`extra-lib-dirs`. + ``cabal-version: 3.6`` ---------------------- diff --git a/doc/getting-started.rst b/doc/getting-started.rst index b4f042dc72148a61ef2a8ce0768e58c559377b4f..0a26b7c10c8bf93e14182d23437b9c572a5d2f2c 100644 --- a/doc/getting-started.rst +++ b/doc/getting-started.rst @@ -5,9 +5,7 @@ Installing the Haskell toolchain -------------------------------- To install the Haskell toolchain follow the `ghcup instructions -<https://www.haskell.org/ghcup/>`__ if you're using Linux or Mac, or follow -`this guide <https://hub.zhox.com/posts/introducing-haskell-dev/>`__ if you're -using Windows. +<https://www.haskell.org/ghcup/>`__. Creating a new application diff --git a/doc/installing-packages.rst b/doc/installing-packages.rst index 9ec28341912738041396eb16647cf7cad5f64b29..3040bb2da357d016563f17875b652949e2f36a70 100644 --- a/doc/installing-packages.rst +++ b/doc/installing-packages.rst @@ -105,14 +105,18 @@ packages from any of them. Using secure repositories ^^^^^^^^^^^^^^^^^^^^^^^^^ -For repositories that support the TUF security infrastructure (this -includes Hackage), you can enable secure access to the repository by -specifying: +When interacting with ``hackage.haskell.org``, Cabal always runs in secure mode +with standard root keys, so it is not necessary to specify ``secure`` or +``root-keys``. If no repositories are listed, Cabal will default to +``hackage.haskell.org``. + +For non-Hackage repositories that support the TUF security infrastructure you +can enable secure access to the repository by specifying: :: - repository hackage.haskell.org - url: http://hackage.haskell.org/ + repository packages.example.org + url: http://packages.example.org/ secure: True root-keys: <root-key-IDs> key-threshold: <key-threshold> @@ -272,4 +276,4 @@ dependencies in a single step. To do this, run: To browse the list of available packages, visit the `Hackage`_ web site. -.. _Hackage: https://hackage.haskell.org/ \ No newline at end of file +.. _Hackage: https://hackage.haskell.org/ diff --git a/release-notes/Cabal-3.6.1.0.md b/release-notes/Cabal-3.6.1.0.md new file mode 100644 index 0000000000000000000000000000000000000000..c7d584d3520ba9c175ad9ca9ef43fbabed1be337 --- /dev/null +++ b/release-notes/Cabal-3.6.1.0.md @@ -0,0 +1,60 @@ +Cabal 3.6.1.0 Changelog +--- + +### Significant Changes + +- Include cmm-sources when linking shared objects [#7182](https://github.com/haskell/cabal/issues/7182) [#7252](https://github.com/haskell/cabal/pull/7252) + + - Previously `cmm-sources` were not included in the final link when building a library as a shared object. Fix this. + +- Prefer canonicalized path when guessing tools from GHC path [#7390](https://github.com/haskell/cabal/issues/7390) [#7392](https://github.com/haskell/cabal/pull/7392) + + Motivation + + Often times, the user facing `ghc` binary is + symlinked by other forces, such as the package manager, + tooling like ghcup etc. As such, the naming convention + (version suffix in particular) may not align with the + assumptions made in Cabal and it may find an incorrect ghc-pkg. + + See: + - https://github.com/haskell/cabal/issues/7390 + - https://gitlab.haskell.org/ghc/ghc/-/issues/18807 + - https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/73 + + Solution + + Guessing the ghc-pkg path is already a hack and will be solved + more appropriately in the future, see + - https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4214 + - https://gitlab.haskell.org/ghc/ghc/-/snippets/2710 + These patches will solve the issue for future GHC versions. + + As such, this patch provides a workaround for + older, already existing GHC versions by first always + following the symbolic link of the ghc binary (if it is one) + and prefering its target directory as the guess lookup + location. + + Rationale + + The canonicalized path of the ghc binary usually points to the + bin/ directory unpacked from a bindist, which is less likely to be + tampered with by distributions and tools. As such, prefering the + canoncialized path should get us more robust results. + +- Fix `cabal test --enable-library-coverage` for other-modules [#5213](https://github.com/haskell/cabal/issues/5213) [#7493](https://github.com/haskell/cabal/pull/7493) + + - Fix `cabal test --enable-library-coverage` for libraries with nonempty other-modules field. + - Due to a hack, this breaks coverage whenever the used Haskell compiler is called 't' (for a non-hacky fix we should rework HPC directories, possibly enabling multilib in the process, see #6440 and #6397). + +- Set PATH_SEPARATOR=";" when calling ./configure on Windows; this fix is necessary for autoconf >= 2.70 [#7494](https://github.com/haskell/cabal/issues/7494) [#7510](https://github.com/haskell/cabal/pull/7510) + +- lazily decode cache files for checking invalidation [#7516](https://github.com/haskell/cabal/pull/7516) [#7466](https://github.com/haskell/cabal/issues/7466) + - This yields a significant 15% speedup on rebuilding build plans for projects with lots of individual cabal packages. + +- defer build-tools-depends choices as well as setup choices [#7561](https://github.com/haskell/cabal/pull/7561) [#7472](https://github.com/haskell/cabal/issues/7472) + - extends the existing solver pass that defers solving setup depends until top-level goals are solved to also defer build-tool-depends goals until top level goals are solved. + - constraints at the top level (on versions, flags, stanzas, etc) are applied first and only then are attempts made to build the less-constrained qualified goals, significantly streamlining the production of valid build plans. + +- Set -Wno-prepositive-qualified-module in Paths_*.hs [#7352](https://github.com/haskell/cabal/pull/7352) diff --git a/release-notes/Cabal-3.8.0.0.md b/release-notes/Cabal-3.8.0.0.md new file mode 100644 index 0000000000000000000000000000000000000000..2756103c34ca2c66f4fec1de86acddaf6504c7f4 --- /dev/null +++ b/release-notes/Cabal-3.8.0.0.md @@ -0,0 +1,13 @@ +Cabal 3.6.0.0 Changelog +--- + + +- Added fields :pkg-field:`extra-libraries-static` and + :pkg-field:`extra-lib-dirs-static` to allow Haskell libraries to remember + linker flags needed for fully static linking of system libraries into executables. [#7536](https://github.com/haskell/cabal/pull/7536) + +- The existing field :pkg-field:`pkgconfig-depends` can used to append the relevant + output of ``pkg-config --libs --static`` to these new fields automatically. + When :pkg-field:`extra-libraries-static` is not given, it defaults to + :pkg-field:`extra-libraries`. When :pkg-field:`extra-lib-dirs-static` is not + given, it defaults to :pkg-field:`extra-lib-dirs`. [#7536](https://github.com/haskell/cabal/pull/7536) diff --git a/release-notes/cabal-install-3.6.0.0.md b/release-notes/cabal-install-3.6.0.0.md new file mode 100644 index 0000000000000000000000000000000000000000..c4692787ec9890ea20ecb3df7ca85142c21a00df --- /dev/null +++ b/release-notes/cabal-install-3.6.0.0.md @@ -0,0 +1,43 @@ +### Backports + +- Backported to 3.4 [#6964](https://github.com/haskell/cabal/pull/6964) [#6968](https://github.com/haskell/cabal/pull/6968) +- CI setup [#6959](https://github.com/haskell/cabal/pull/6959) + + - Remove travis scripts + +### Significant Changes + +- Add post-checkout-command to source-package-repository [#6664](https://github.com/haskell/cabal/issues/6664) [#7047](https://github.com/haskell/cabal/pull/7047) +- Assume list-bin target selectors are for executables [#7326](https://github.com/haskell/cabal/issues/7326) [#7335](https://github.com/haskell/cabal/pull/7335) +- Add a --only-download flag [#7323](https://github.com/haskell/cabal/issues/7323) [#7347](https://github.com/haskell/cabal/pull/7347) +- Add `hsc2hs-options`, for specifying additional options to pass to `hsc2hs` [#6295](https://github.com/haskell/cabal/pull/6295) +- Make extra-packages work properly [#6972](https://github.com/haskell/cabal/pull/6972) +- Bugfix - stop creating spurious dirs on `init` [#6772](https://github.com/haskell/cabal/issues/6772) [#7262](https://github.com/haskell/cabal/pull/7262) +- Avoid resource exhaustion in `cabal init` [#5115](https://github.com/haskell/cabal/issues/5115) [#7283](https://github.com/haskell/cabal/pull/7283) + + - Read file contents strictly to avoid resource exhaustion in `cabal init`. + - Ignore UTF-8 decoding errors. + +- Add language extensions for GHC 9.2 [#7312](https://github.com/haskell/cabal/issues/7312) +- --dry-run and --only-download effect v2-configure, v2-freeze, v2-run, and v2-exec [#7379](https://github.com/haskell/cabal/issues/7379) +- Fix instantiating an indefinite Backpack from Hackage with an inplace package [#6835](https://github.com/haskell/cabal/issues/6835) [#7413](https://github.com/haskell/cabal/pull/7413) + + Previously, cabal-install would always attempt to put instantiations of indefinite packages from Hackage in + the global package store, even if they were instantiated with inplace packages. This would not work + and GHC would complain about packages being missing from the package database. We have fixed the + instantiation algorithm to correctly inplace packages in these situations, removing one of the last + blockers to widespread use of Backpack packages on Hackage. + +- removes the warnings for extraneous versions [#7286](https://github.com/haskell/cabal/issues/7286) [#7470](https://github.com/haskell/cabal/pull/7470) +- Alert user and suggest command on spelling mistakes + +### Other improvements + +- Code organization [#6960](https://github.com/haskell/cabal/pull/6960) [#6963](https://github.com/haskell/cabal/pull/6963) [#6970](https://github.com/haskell/cabal/pull/6970) [#6974](https://github.com/haskell/cabal/pull/6974) [#6975](https://github.com/haskell/cabal/pull/6975) + + - Move Cabal sources into Cabal/src + - Move cabal-install sources to cabal-install/src/ + - Move doc/ to the top-level of the repository + - Add stylish-haskell config. + +- Documentation improvements [#6813](https://github.com/haskell/cabal/issues/6813) [#6971](https://github.com/haskell/cabal/pull/6971) [#7047](https://github.com/haskell/cabal/pull/7047) diff --git a/templates/ci-windows.template.yml b/templates/ci-windows.template.yml index 05487977ffb92a45d104793a3f2c82217aa1f7ea..e192d53daa30a6866a9846b9809f62947bace65a 100644 --- a/templates/ci-windows.template.yml +++ b/templates/ci-windows.template.yml @@ -70,5 +70,5 @@ jobs: cabal v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" - name: cabal-tests # Using only one job, -j1, to fail less. - run: cabal v2-run cabal-testsuite:cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-{{ job.version }}\cabal-install-3.6.0.0\x\cabal\build\cabal\cabal.exe + run: cabal v2-run cabal-testsuite:cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-{{ job.version }}\cabal-install-3.7.0.0\x\cabal\build\cabal\cabal.exe {% endfor %}