diff --git a/cabal.project b/cabal.project index a8bb4c2f8..ecfff99fb 100644 --- a/cabal.project +++ b/cabal.project @@ -4,12 +4,14 @@ packages: . with-compiler: ghc-9.6.3 +index-state: 2023-10-20T00:00:00Z + constraints: zip +disable-bzip2 +disable-zstd source-repository-package type: git location: https://github.com/simplex-chat/simplexmq.git - tag: 117168ccce93ef5ac478c02e3f02a018fa8a2200 + tag: eaf5317834b069144b5f4897f9c79831983e54dd source-repository-package type: git @@ -45,3 +47,9 @@ source-repository-package type: git location: https://github.com/simplex-chat/android-support.git tag: 9aa09f148089d6752ce563b14c2df1895718d806 + +-- TODO this fork is only needed to compile with GHC 8.10.7 - it allows previous base version +source-repository-package + type: git + location: https://github.com/simplex-chat/zip.git + tag: bd421c6b19cc4c465cd7af1f6f26169fb8ee1ebc diff --git a/package.yaml b/package.yaml index e77d43546..6734df9fb 100644 --- a/package.yaml +++ b/package.yaml @@ -19,7 +19,6 @@ dependencies: - attoparsec == 0.14.* - base >= 4.7 && < 5 - base64-bytestring >= 1.0 && < 1.3 - - bytestring == 0.11.* - composition == 1.0.* - constraints >= 0.12 && < 0.14 - containers == 0.6.* @@ -32,10 +31,10 @@ dependencies: - filepath == 1.4.* - http-types == 0.12.* - http2 >= 4.2.2 && < 4.3 - - memory >= 0.15 && < 0.19 - - mtl >= 2.3.1 && < 3 + - memory == 0.18.* + - mtl >= 2.3.1 && < 3.0 - network >= 3.1.2.7 && < 3.2 - - network-transport >= 0.5.6 && < 0.6 + - network-transport == 0.5.6 - optparse-applicative >= 0.15 && < 0.17 - process == 1.6.* - random >= 1.1 && < 1.3 @@ -45,14 +44,12 @@ dependencies: - socks == 0.6.* - sqlcipher-simple == 0.4.* - stm == 2.5.* - - template-haskell >= 2.16 && < 2.21 - terminal == 0.2.* - - text >= 2.0 && < 3 - time == 1.9.* - tls >= 1.6.0 && < 1.7 - unliftio == 0.2.* - unliftio-core == 0.2.* - - zip >= 1.7 && < 2.1 + - zip == 2.0.* flags: swift: @@ -64,6 +61,16 @@ when: - condition: flag(swift) cpp-options: - -DswiftJSON + - condition: impl(ghc >= 9.6.2) + dependencies: + - bytestring == 0.11.* + - template-haskell == 2.20.* + - text >= 2.0.1 && < 2.2 + - condition: impl(ghc < 9.6.2) + dependencies: + - bytestring == 0.10.* + - template-haskell == 2.16.* + - text >= 1.2.3.0 && < 1.3 library: source-dirs: src diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 7e39845fe..f1c383a96 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."117168ccce93ef5ac478c02e3f02a018fa8a2200" = "1091c4b8qjp9v29z862b7clda90w3kb4v2aqp5b2jh6yprlga98w"; + "https://github.com/simplex-chat/simplexmq.git"."eaf5317834b069144b5f4897f9c79831983e54dd" = "0jlic1q08mq9p9sgvigmc59r6x1r5fa1zsfqvvrwd97pwain36mj"; "https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38"; "https://github.com/kazu-yamamoto/http2.git"."f5525b755ff2418e6e6ecc69e877363b0d0bcaeb" = "0fyx0047gvhm99ilp212mmz37j84cwrfnpmssib5dw363fyb88b6"; "https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d"; @@ -7,4 +7,5 @@ "https://github.com/simplex-chat/aeson.git"."aab7b5a14d6c5ea64c64dcaee418de1bb00dcc2b" = "0jz7kda8gai893vyvj96fy962ncv8dcsx71fbddyy8zrvc88jfrr"; "https://github.com/simplex-chat/haskell-terminal.git"."f708b00009b54890172068f168bf98508ffcd495" = "0zmq7lmfsk8m340g47g5963yba7i88n4afa6z93sg9px5jv1mijj"; "https://github.com/simplex-chat/android-support.git"."9aa09f148089d6752ce563b14c2df1895718d806" = "0pbf2pf13v2kjzi397nr13f1h3jv0imvsq8rpiyy2qyx5vd50pqn"; + "https://github.com/simplex-chat/zip.git"."bd421c6b19cc4c465cd7af1f6f26169fb8ee1ebc" = "1csqfjhvc8wb5h4kxxndmb6iw7b4ib9ff2n81hrizsmnf45a6gg0"; } diff --git a/simplex-chat.cabal b/simplex-chat.cabal index 3c080e4b5..a53c15c78 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -1,6 +1,6 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.35.5. +-- This file has been generated from package.yaml by hpack version 0.35.0. -- -- see: https://github.com/sol/hpack @@ -171,7 +171,6 @@ library , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -184,10 +183,10 @@ library , filepath ==1.4.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network >=3.1.2.7 && <3.2 - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -197,17 +196,25 @@ library , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 executable simplex-bot main-is: Main.hs @@ -223,7 +230,6 @@ executable simplex-bot , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -236,10 +242,10 @@ executable simplex-bot , filepath ==1.4.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network >=3.1.2.7 && <3.2 - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -250,17 +256,25 @@ executable simplex-bot , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 executable simplex-bot-advanced main-is: Main.hs @@ -276,7 +290,6 @@ executable simplex-bot-advanced , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -289,10 +302,10 @@ executable simplex-bot-advanced , filepath ==1.4.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network >=3.1.2.7 && <3.2 - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -303,17 +316,25 @@ executable simplex-bot-advanced , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 executable simplex-broadcast-bot main-is: ../Main.hs @@ -331,7 +352,6 @@ executable simplex-broadcast-bot , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -344,10 +364,10 @@ executable simplex-broadcast-bot , filepath ==1.4.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network >=3.1.2.7 && <3.2 - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -358,17 +378,25 @@ executable simplex-broadcast-bot , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 executable simplex-chat main-is: Main.hs @@ -385,7 +413,6 @@ executable simplex-chat , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -398,10 +425,10 @@ executable simplex-chat , filepath ==1.4.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network ==3.1.* - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -412,18 +439,26 @@ executable simplex-chat , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* , websockets ==0.12.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 executable simplex-directory-service main-is: ../Main.hs @@ -443,7 +478,6 @@ executable simplex-directory-service , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -456,10 +490,10 @@ executable simplex-directory-service , filepath ==1.4.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network >=3.1.2.7 && <3.2 - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -470,17 +504,25 @@ executable simplex-directory-service , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 test-suite simplex-chat-test type: exitcode-stdio-1.0 @@ -524,7 +566,6 @@ test-suite simplex-chat-test , attoparsec ==0.14.* , base >=4.7 && <5 , base64-bytestring >=1.0 && <1.3 - , bytestring ==0.11.* , composition ==1.0.* , constraints >=0.12 && <0.14 , containers ==0.6.* @@ -540,10 +581,10 @@ test-suite simplex-chat-test , hspec ==2.11.* , http-types ==0.12.* , http2 >=4.2.2 && <4.3 - , memory >=0.15 && <0.19 - , mtl >=2.3.1 && <3 + , memory ==0.18.* + , mtl >=2.3.1 && <3.0 , network ==3.1.* - , network-transport >=0.5.6 && <0.6 + , network-transport ==0.5.6 , optparse-applicative >=0.15 && <0.17 , process ==1.6.* , random >=1.1 && <1.3 @@ -555,14 +596,22 @@ test-suite simplex-chat-test , socks ==0.6.* , sqlcipher-simple ==0.4.* , stm ==2.5.* - , template-haskell >=2.16 && <2.21 , terminal ==0.2.* - , text >=2.0 && <3 , time ==1.9.* , tls >=1.6.0 && <1.7 , unliftio ==0.2.* , unliftio-core ==0.2.* - , zip >=1.7 && <2.1 + , zip ==2.0.* default-language: Haskell2010 if flag(swift) cpp-options: -DswiftJSON + if impl(ghc >= 9.6.2) + build-depends: + bytestring ==0.11.* + , template-haskell ==2.20.* + , text >=2.0.1 && <2.2 + if impl(ghc < 9.6.2) + build-depends: + bytestring ==0.10.* + , template-haskell ==2.16.* + , text >=1.2.3.0 && <1.3 diff --git a/stack.yaml b/stack.yaml deleted file mode 100644 index 69f8e2121..000000000 --- a/stack.yaml +++ /dev/null @@ -1,96 +0,0 @@ -# This file was automatically generated by 'stack init' -# -# Some commonly used options have been documented as comments in this file. -# For advanced use and comprehensive documentation of the format, please see: -# https://docs.haskellstack.org/en/stable/yaml_configuration/ - -# Resolver to choose a 'specific' stackage snapshot or a compiler version. -# A snapshot resolver dictates the compiler version and the set of packages -# to be used for project dependencies. For example: -# -# resolver: lts-3.5 -# resolver: nightly-2015-09-21 -# resolver: ghc-7.10.2 -# -# The location of a snapshot can be provided as a file or url. Stack assumes -# a snapshot provided as a file might change, whereas a url resource does not. -# -# resolver: ./custom-snapshot.yaml -# resolver: https://example.com/snapshots/2018-01-01.yaml -resolver: lts-18.21 - -# User packages to be built. -# Various formats can be used as shown in the example below. -# -# packages: -# - some-directory -# - https://example.com/foo/bar/baz-0.0.2.tar.gz -# subdirs: -# - auto-update -# - wai -packages: - - . -# Dependency packages to be pulled from upstream that are not in the resolver. -# These entries can reference officially published versions as well as -# forks / in-progress versions pinned to a git hash. For example: -# -extra-deps: - - cryptostore-0.2.1.0@sha256:9896e2984f36a1c8790f057fd5ce3da4cbcaf8aa73eb2d9277916886978c5b19,3881 - - network-3.1.2.7@sha256:e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568,4888 - - simple-logger-0.1.0@sha256:be8ede4bd251a9cac776533bae7fb643369ebd826eb948a9a18df1a8dd252ff8,1079 - - tls-1.6.0@sha256:7ae39373fd2de27fb80e90f76d22aeeb9a074a0ddd120cbd02c9c52f516a9e55,6987 - # below hackage dependencies are to update Aeson to 2.0.3 - - OneTuple-0.3.1@sha256:a848c096c9d29e82ffdd30a9998aa2931cbccb3a1bc137539d80f6174d31603e,2262 - - attoparsec-0.14.4@sha256:79584bdada8b730cb5138fca8c35c76fbef75fc1d1e01e6b1d815a5ee9843191,5810 - - hashable-1.4.0.2@sha256:0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55,5005 - - semialign-1.2.0.1@sha256:0e179b4d3a8eff79001d374d6c91917c6221696b9620f0a4d86852fc6a9b9501,2836 - - text-short-0.1.5@sha256:962c6228555debdc46f758d0317dea16e5240d01419b42966674b08a5c3d8fa6,3498 - - time-compat-1.9.6.1@sha256:42d8f2e08e965e1718917d54ad69e1d06bd4b87d66c41dc7410f59313dba4ed1,5033 - # - simplexmq-1.0.0@sha256:34b2004728ae396e3ae449cd090ba7410781e2b3cefc59259915f4ca5daa9ea8,8561 - # - ../simplexmq - - github: simplex-chat/simplexmq - commit: 117168ccce93ef5ac478c02e3f02a018fa8a2200 - - github: kazu-yamamoto/http2 - commit: f5525b755ff2418e6e6ecc69e877363b0d0bcaeb - # - ../direct-sqlcipher - - github: simplex-chat/direct-sqlcipher - commit: f814ee68b16a9447fbb467ccc8f29bdd3546bfd9 - # - ../sqlcipher-simple - - github: simplex-chat/sqlcipher-simple - commit: a46bd361a19376c5211f1058908fc0ae6bf42446 - # - terminal-0.2.0.0@sha256:de6770ecaae3197c66ac1f0db5a80cf5a5b1d3b64a66a05b50f442de5ad39570,2977 - - github: simplex-chat/aeson - commit: aab7b5a14d6c5ea64c64dcaee418de1bb00dcc2b - - github: simplex-chat/haskell-terminal - commit: f708b00009b54890172068f168bf98508ffcd495 - - github: simplex-chat/android-support - commit: 9aa09f148089d6752ce563b14c2df1895718d806 -# -# extra-deps: [] - -# Override default flag values for local packages and extra-deps -flags: - zip: - disable-bzip2: true - disable-zstd: true - direct-sqlcipher: - openssl: true -# Extra package databases containing global packages -# extra-package-dbs: [] - -# Control whether we use the GHC we find on the path -# system-ghc: true -# -# Require a specific version of stack, using version ranges -# require-stack-version: -any # Default -# require-stack-version: ">=2.1" -# -# Override the architecture used by stack, especially useful on Windows -# arch: i386 -# arch: x86_64 -# -# Extra directories used by stack for building -# extra-lib-dirs: [/path/to/dir] -# -# Allow a newer minor version of GHC than the snapshot specifies -# compiler-check: newer-minor