Files
simplex-chat/docs/dependencies/HASKELL.md
T
fbca2cae81 core, ui: resize images in the core for sharper previews and images (#7941)
* WIP: Haskell impl of resizeImageToStrSize

* WIP: add FFI export wrapper

* WIP: switch ios resizeImageToStrSizeSync to backend

* WIP: fix resizeImageToStrSizeSync

* WIP: add JNI wrappers

* Add non-base64 resize and cWriteImage

* WIP: add chat_write_image

* fix resizeToStr

* fixes

* fix syntax, raise jpeg quality back

* add chatWriteImage

* Fix cfArgs in tests

* Use jpeg-turbo encoder

* add nix pins

* bump jpeg-turbo

* add CI deps

* add encoding funs to android lib

* bump jpeg-turbo for 20.04 fix

* jpeg-turbo fix for 8.10

* android fixes

* Bump jpeg-turbo

* set static flag for jpeg-turbo

* Fix nix for aarch64/android

* Fix android C api

* Fix resize in android

* Bump hs-libjpeg-turbo

* target correct override

* override android lib from android pkgs

* add macos build tweaks

* bump hs-jpeg-turbo for 8.10 fixes

* more build fixes

* make ios compile

* Always use pkgconfig for libjpeg-turbo

* WIP: debug libjpeg in ubuntu pkg-config CI

* Add pkg-config to dockerfiles

* Add libturbojpeg to dockerfiles

* Use -dev version of libturbojpeg in dockerfiles

* Install pkg-config in windows CI

* Disable flag for custom libturbojpeg linking options

Workarounds relocation error on x86_64-linux with gcc:
  /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/libturbojpeg.a(turbojpeg.c.o): relocation R_X86_64_TPOFF32 against `errStr' can not be used when making a shared object; recompile with -fPIC
  /usr/bin/ld: failed to set dynamic section sizes: bad value

* WIP: debug libjpeg in windows pkg-config CI

* WIP: debug libjpeg package in windows CI

* core: image resize module and buffer FFI

* ci: link libjpeg-turbo statically on all platforms

* ui: resize images in the core

* core: rename image resize functions to chat_resize_image and chat_resize_image_uri

* ci: restore whitespace in build.yml

* ci: build libjpeg-turbo 3.1.4.1 from a submodule

* core: hs-jpeg-turbo from github.com/simplex-chat

* nodejs: resize images

* python: resize images

* core: hs-jpeg-turbo from gitlab.com, the GitHub import lacks LFS objects

* core: generate /img previews

* ci: link libjpeg-turbo on Windows without pkg-config

* ci: build libjpeg-turbo on Windows with the GHC toolchain

* docs: plan for image resizing in the core

* docs: update image resizing plan

* ios: prevent crash when wallpaper image cannot be resized

* android, desktop: raise an error when an image cannot be resized

* docs: update spec references for image resizing

* docker: build the CLI image from a clone without submodules

* docs: apply review fixes to image resizing plan

* docker: build the CLI from a git worktree with the submodule present

* docs: apply second review to image resizing plan

* docs: point image resizing plan at the rewritten commit

* core: choose image format by transparency in chat_resize_image

* nodejs: resize images to the app sizes

* python: resize images to the app sizes

* nodejs, python: describe the core modules as used for image resizing

* docs: add license notices of the image libraries

* ci: describe the avatar method without attributing it to the apps

* ci, ios, nix: remove the libjpeg-turbo build outside cabal

* python: name resize_image in the core module text

* nodejs, python: describe resizing to the app image sizes

* core: refuse images larger than the supported size

* core: resize to JPEG images with a side above 65500 pixels

* docs: record image resizing decisions for the bundled libjpeg-turbo

* core, docs: build libjpeg-turbo and stb from the fork submodules

* docs: record the fork pins in the image resizing plan

* core: resize images to at most 4320 pixels per side, refuse above 16384

* docs: record the image side limits in the image resizing plan

* core: pin the rebased hs-jpeg-turbo fork

* core: pin the hs-jpeg-turbo fork without package.yaml

* docs: plan scaled JPEG decoding and EXIF orientation of images

* docs: copy the JuicyPixels-stbir licence of the pinned fork

* core: pin the hs-jpeg-turbo fork with scaled JPEG decoding

* core: decode JPEG at the display size, up to 65500 pixels per side

* core: rotate JPEG images by their EXIF orientation

* docs: refer the image plan to the JPEG decoding code

* docs: record the approved image processing decisions

* core: limit JPEG decoding memory to 1024 MB outside iOS and Android

* docs: name JPEG decoding in the libjpeg-turbo notice

* docs: plan image resizing from files and the decisions of 26 Oct

* core: scale images in one Catmull-Rom pass with sharpening

* docs: plan image sizes at a fixed quality

* core: resize images at a fixed quality to fill the size limit

* core: resize images from a file path or a file descriptor

* ios, android, desktop: resize picked images from their files

* core: encode resized images with mozjpeg

* tests: check descriptor closing by the file it refers to

* core: raise JPEG quality only for a full-size image below 97% of the limit

* ci: name the mozjpeg submodule in the Windows cleanup comments

* docs: refer the image plan to the current code

* docs: refer the image plan to the code merged with master

* core: export every image resizing function from each library

* core: close the file descriptor when its handle cannot be created

* docs: count the C sources of mozjpeg with the arithmetic decoder

* core: use the reviewed hs-jpeg-turbo and JuicyPixels-stbir forks

* ci: build the armv7a Android core library on request

* core: round image heights half up in the size search

* ios: describe the file image resizing functions in SimpleX.h

* ci: pick, preview and send images in the Claude app tests

* core: decode PNG images with libspng and refuse other formats

* core: encode PNG with libspng, keeping the smaller filter choice

* ci: pick, preview and send images in the scripted app smoke tests

* flake: build the PNG decoder package in nix builds

* ios: remove the copy of a picked image after sending it

* core: refuse image files larger than the decode memory limit

* core: scale a JPEG image to its largest size once per resize

* core: bisect JPEG quality without a step function

* core: reduce the memory used to sharpen and to decode PNG images

* android, desktop: pass the image format to the core as an integer

* android, desktop: fuse the preview conditions of picked media

* android, desktop, ci: check that the core resized the smoke test images

* python: remove the docstrings of the explicit image resizing functions

* docs: add the second review fixes to the image plan

* ci: tap the iOS attachment button by its accessibility label

* core: keep the colour profiles of resized images

* docs: add the colour profiles to the image plan

* ci: wait up to 30 s for the new group screens in the iOS smoke test

* ci: pick the Android smoke test images from their own photo folders

* ci: tap the iOS photo picker by position, as its tree is not shown

* ci: pick the test card and the logo by their iOS picker positions

* core: update JuicyPixels-stbir with the stb_image_resize licence terms

* core: write a fixed Display P3 profile for Display P3 images only

* core: do not keep the input image in memory for its colour profile

* core: read the JPEG segments once for the orientation and the profile

* core: read an image file into one buffer of its size

* docs: add the third review fixes to the image plan

* core: resize images with Display P3 or no profile, not profile bytes

* ci: check the pixel sizes of the images sent in the iOS smoke test

* core: update hs-jpeg-turbo with PNG chunk limits and encoder fixes

* docs: list Compact ICC Profiles, libspng and miniz in the dependencies

* android, desktop: reword the picked media preview comment

* docs: refer the image plan to the code merged with master

* ci: render the iOS snapshots before the images case

* ci: dismiss the snapshot tests' camera alert before the iOS images case

* core: update hs-jpeg-turbo with tests and the JuicyPixels-spng synopsis

* core: pin hs-jpeg-turbo and JuicyPixels-stbir in simplex-chat repositories

* update ios core library

* core, ui: accept only JPEG and PNG image data

* core: update JuicyPixels-stbir

* docs: plan for the iOS copy of picked images

---------

Co-authored-by: IC Rainbow <aenor.realm@gmail.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: Alexandre Esteves <alexfmpe@proton.me>
2026-10-30 12:14:51 +00:00

43 KiB

Dependency License Report

Bold-faced **package-name**s denote standard libraries bundled with ghc-9.6.3.

Direct dependencies of simplex-chat:exe:simplex-chat

Name Version SPDX License Id Description Also depended upon by
base 4.18.1.0 BSD-3-Clause Basic libraries (core library)
base64-bytestring 1.2.1.0 BSD-3-Clause Fast base64 encoding and decoding for ByteStrings simplexmq, websockets
bytestring 0.11.5.2 BSD-3-Clause Fast, compact, strict and lazy byte strings with a list interface JuicyPixels, JuicyPixels-jpeg-turbo, JuicyPixels-spng, SHA, aeson, appar, asn1-encoding, asn1-parse, asn1-types, attoparsec, base64-bytestring, binary, bitvec, blaze-builder, blaze-textual, bytestring-builder, case-insensitive, cereal, conduit, conduit-extra, cryptohash-md5, cryptohash-sha1, crypton, crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, digest, direct-sqlcipher, email-validate, entropy, fast-logger, file-embed, filepath, hashable, http-types, http2, integer-conversion, iproute, jpeg-turbo, libyaml, memory, monad-logger, mono-traversable, network, network-byte-order, network-transport, network-udp, parsec, pem, random, scientific, simplexmq, socks, sqlcipher-simple, streaming-commons, strict, terminal, text, text-short, tls, typed-process, unix, unix-time, unliftio, uuid, uuid-types, vector-algorithms, websockets, yaml, zip, zlib, zstd
composition 1.0.2.2 BSD-3-Clause Combinators for unorthodox function composition simplexmq
constraints 0.14 BSD-2-Clause Constraint manipulation simplexmq
containers 0.6.7 BSD-3-Clause Assorted concrete container types JuicyPixels, QuickCheck, aeson, attoparsec, bifunctors, binary, cereal, comonad, crypton-x509, crypton-x509-store, crypton-x509-validation, data-default-instances-containers, hashable, http2, indexed-traversable, iproute, mono-traversable, network-udp, resourcet, scientific, semialign, semigroupoids, simplexmq, sqlcipher-simple, th-abstraction, websockets, witherable, yaml, zip
crypton 0.34 BSD-3-Clause Cryptography Primitives sink crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls
uuid 1.3.15 BSD-3-Clause For creating, comparing, parsing and printing Universally Unique Identifiers
directory 1.3.8.1 BSD-3-Clause Platform-agnostic library for filesystem operations conduit, conduit-extra, crypton-x509-store, easy-file, fast-logger, file-embed, network, process, simplexmq, streaming-commons, temporary, unliftio, yaml, zip
direct-sqlcipher 2.3.28 MISSING MISSING simplexmq, sqlcipher-simple
data-default 0.7.1.1 BSD-3-Clause A class for types with a default value simplexmq
exceptions 0.10.7 BSD-3-Clause Extensible optionally-pure exceptions aeson, conduit, filepath, monad-logger, resourcet, safe-exceptions, sqlcipher-simple, temporary, terminal, zip
filepath 1.4.100.4 BSD-3-Clause Library for manipulating FilePaths in a cross platform way. conduit, conduit-extra, crypton-x509-store, directory, easy-file, fast-logger, file-embed, hashable, process, simplexmq, temporary, unix, unliftio, yaml, zip
file-embed 0.0.15.0 BSD-2-Clause Use Template Haskell to embed file contents directly.
http-types 0.12.4 BSD-3-Clause Generic HTTP types for Haskell (for both client and server code). http2, simplexmq
http2 5.0.0 BSD-3-Clause HTTP/2 library simplexmq
JuicyPixels 3.3.8 BSD-3-Clause Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance) JuicyPixels-jpeg-turbo, JuicyPixels-spng, JuicyPixels-stbir
JuicyPixels-jpeg-turbo 0.1.0.0 BSD-3-Clause JuicyPixels wrappers for mozjpeg
JuicyPixels-spng 0.1.0.0 BSD-3-Clause AND BSD-2-Clause AND libpng-2.0 AND MIT JuicyPixels wrappers for libspng
JuicyPixels-stbir 0.1.0.0 BSD-3-Clause AND (MIT OR Unlicense) Scale JuicyPixels images with stb_image_resize
email-validate 2.3.2.19 BSD-3-Clause Email address validation
memory 0.18.0 BSD-3-Clause memory and related abstraction stuff asn1-types, crypton, crypton-x509, crypton-x509-validation, cryptostore, pem, simplexmq, tls
mtl 2.3.1 BSD-3-Clause Monad classes for transformers, using functional dependencies JuicyPixels, conduit, constraints, crypton-x509-store, crypton-x509-validation, exceptions, monad-logger, parsec, random, resourcet, simple-logger, simplexmq, tls, yaml, zip
unliftio 0.2.25.0 MIT The MonadUnliftIO typeclass for unlifting monads to IO (batteries included) http2, simplexmq, time-manager
unliftio-core 0.2.1.0 MIT The MonadUnliftIO typeclass for unlifting monads to IO conduit, conduit-extra, monad-logger, resourcet, simplexmq, typed-process, unliftio
ansi-terminal 1.0 BSD-3-Clause Simple ANSI terminal support prettyprinter-ansi-terminal
network 3.1.4.0 BSD-3-Clause Low-level networking interface conduit-extra, http2, iproute, network-udp, simplexmq, socks, streaming-commons, tls, websockets
network-transport 0.5.6 BSD-3-Clause Network abstraction layer simplexmq
process 1.6.17.0 BSD-3-Clause Process libraries conduit-extra, optparse-applicative, simplexmq, streaming-commons, typed-process, unliftio
optparse-applicative 0.18.1.0 BSD-3-Clause Utilities and combinators for parsing command line options simplexmq
record-hasfield 1.0 BSD-3-Clause A version of GHC.Records as available in future GHCs.
random 1.2.1.1 BSD-3-Clause Pseudo-random number generation QuickCheck, simplexmq, streaming-commons, temporary, uuid, uuid-types, websockets
socks 0.6.1 BSD-3-Clause Socks proxy (ver 5) simplexmq
scientific 0.3.7.0 BSD-3-Clause Numbers represented using scientific notation aeson, attoparsec, yaml
simple-logger 0.1.1 MIT A very simple but efficient logging framework simplexmq
simplexmq 6.4.0.1 MISSING MISSING
aeson 2.2.1.0 BSD-3-Clause Fast JSON parsing and encoding simplexmq, yaml
sqlcipher-simple 0.4.18.1 MISSING MISSING simplexmq
stm 2.5.1.0 BSD-3-Clause Software Transactional Memory StateVar, async, conduit-extra, exceptions, fast-logger, http2, monad-control, monad-logger, simplexmq, stm-chans, streaming-commons, terminal, transformers-base, typed-process, unliftio
async 2.2.5 BSD-3-Clause Run IO operations asynchronously and wait for their results conduit-extra, http2, simplexmq, streaming-commons, terminal, tls, typed-process, unliftio, websockets
template-haskell 2.20.0.0 BSD-3-Clause Support library for Template Haskell OneTuple, QuickCheck, aeson, bifunctors, bytestring, containers, email-validate, exceptions, file-embed, filepath, monad-logger, network-uri, primitive, scientific, semigroupoids, sqlcipher-simple, tagged, text, text-short, th-abstraction, th-compat, unordered-containers, uuid-types, yaml
text 2.0.2 BSD-2-Clause An efficient packed Unicode text type. aeson, attoparsec, blaze-builder, blaze-textual, case-insensitive, conduit, conduit-extra, direct-sqlcipher, fast-logger, hashable, http-types, ini, integer-conversion, monad-logger, mono-traversable, optparse-applicative, parsec, prettyprinter, prettyprinter-ansi-terminal, scientific, simple-logger, simplexmq, sqlcipher-simple, streaming-commons, strict, terminal, text-iso8601, text-short, uuid, uuid-types, websockets, yaml, zip
time 1.12.2 BSD-2-Clause A time library aeson, directory, easy-file, iso8601-time, simplexmq, sqlcipher-simple, text-iso8601, time-compat, unix, unliftio, uuid, zip
tls 1.9.0 BSD-3-Clause TLS/SSL protocol native implementation (Server and Client) simplexmq
terminal 0.2.0.0 BSD-3-Clause Portable terminal interaction library
attoparsec 0.14.4 BSD-3-Clause Fast combinator parsing for bytestrings and text conduit-extra, email-validate, ini, simplexmq, sqlcipher-simple, websockets, yaml
vector 0.13.1.0 BSD-3-Clause Efficient Arrays JuicyPixels, JuicyPixels-jpeg-turbo, JuicyPixels-spng, JuicyPixels-stbir, aeson, bitvec, blaze-textual, conduit, indexed-traversable-instances, mono-traversable, semialign, vector-algorithms, witherable, yaml
websockets 0.12.7.3 BSD-3-Clause A sensible and clean way to write WebSocket-capable servers in Haskell. simplexmq
zip 2.0.0 BSD-3-Clause Operations on zip archives

Indirect transitive dependencies

Name Version SPDX License Id Description Depended upon by
OneTuple 0.4.1.1 BSD-3-Clause Singleton Tuple aeson, indexed-traversable-instances
Only 0.1 BSD-3-Clause The 1-tuple type or single-value "collection" sqlcipher-simple
QuickCheck 2.14.3 BSD-3-Clause Automatic testing of Haskell programs aeson
SHA 1.6.4.4 BSD-3-Clause Implementations of the SHA suite of message digest functions websockets
StateVar 1.2.2 BSD-3-Clause State variables contravariant
array 0.5.5.0 BSD-3-Clause Mutable and immutable arrays SHA, attoparsec, binary, cereal, containers, deepseq, fast-logger, http-types, http2, indexed-traversable, integer-logarithms, stm, streaming-commons, text
bifunctors 5.6.1 BSD-3-Clause Bifunctors semigroupoids
binary 0.8.9.1 BSD-3-Clause Binary serialisation for Haskell values using lazy ByteStrings JuicyPixels, SHA, constraints, network-transport, scientific, strict, text, text-short, these, unix-time, uuid, uuid-types, websockets
blaze-builder 0.4.2.3 BSD-3-Clause Efficient buffered output. blaze-textual, sqlcipher-simple
blaze-textual 0.2.3.1 BSD-3-Clause Fast rendering of common datatypes sqlcipher-simple
boring 0.2.1 BSD-3-Clause Boring and Absurd types constraints
base-orphans 0.9.1 MIT Backwards-compatible orphan instances for base distributive, semigroupoids, time-compat, transformers-base, witherable
basement 0.0.16 BSD-3-Clause Foundation scrap box of array & string crypton, cryptostore, memory, pem, socks
bitvec 1.1.5.0 BSD-3-Clause Space-efficient bit vectors vector-algorithms
byteorder 1.0.4 BSD-3-Clause Exposes the native endianness or byte ordering of the system. iproute
bytestring-builder 0.10.8.2.0 BSD-3-Clause The new bytestring builder, packaged outside of GHC websockets
clock 0.8.4 BSD-3-Clause High-resolution clock functions: monotonic, realtime, cputime. websockets
colour 2.3.6 MIT A model for human colour/color perception ansi-terminal, ansi-terminal-types
comonad 5.0.8 BSD-3-Clause Comonads bifunctors, semigroupoids
conduit 1.3.5 MIT Streaming data processing library. conduit-extra, libyaml, monad-logger, yaml, zip
conduit-extra 1.3.6 MIT Batteries included conduit: adapters for common libraries. monad-logger, zip
contravariant 1.5.5 BSD-3-Clause Contravariant functors semigroupoids
cereal 0.5.8.3 BSD-3-Clause A binary serialization library socks, tls, zip
cryptohash-md5 0.11.101.0 BSD-3-Clause Fast, pure and practical MD5 implementation uuid
cryptohash-sha1 0.11.101.0 BSD-3-Clause Fast, pure and practical SHA-1 implementation uuid
crypton-x509 1.7.6 BSD-3-Clause X509 reader and writer crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls
crypton-x509-store 1.6.9 BSD-3-Clause X.509 collection accessing and storing methods crypton-x509-validation, simplexmq, tls
crypton-x509-validation 1.6.12 BSD-3-Clause X.509 Certificate and CRL validation cryptostore, simplexmq, tls
cryptostore 0.3.0.1 BSD-3-Clause Serialization of cryptographic data types simplexmq
case-insensitive 1.2.1.0 BSD-3-Clause Case insensitive string comparison http-types, http2, simplexmq, websockets, zip
uuid-types 1.0.5.1 BSD-3-Clause Type definitions for Universally Unique Identifiers aeson, uuid
deepseq 1.4.8.1 BSD-3-Clause Deep evaluation of data structures JuicyPixels, Only, QuickCheck, aeson, attoparsec, bitvec, blaze-builder, bytestring, bytestring-builder, case-insensitive, constraints, containers, crypton, data-fix, dlist, filepath, hashable, hourglass, memory, network, network-transport, network-uri, pretty, primitive, process, psqueues, random, safe-exceptions, scientific, splitmix, strict, tagged, text, text-short, these, time, time-compat, unliftio, unordered-containers, uuid-types, vector, zstd
digest 0.0.1.7 BSD-2-Clause Various hashes for bytestrings; CRC32 and Adler32 for now. zip
dlist 1.0 BSD-3-Clause Difference lists aeson, data-default-instances-dlist, zip
distributive 0.6.2.1 BSD-3-Clause Distributive functors -- Dual to Traversable comonad, semigroupoids
data-default-class 0.1.2.0 BSD-3-Clause A class for types with a default value JuicyPixels-stbir, crypton-x509-validation, data-default, data-default-instances-containers, data-default-instances-dlist, data-default-instances-old-locale, tls
data-default-instances-containers 0.0.1 BSD-3-Clause Default instances for types in containers data-default
data-default-instances-dlist 0.0.1 BSD-3-Clause Default instances for types in dlist data-default
data-default-instances-old-locale 0.0.1 BSD-3-Clause Default instances for types in old-locale data-default
data-fix 0.3.2 BSD-3-Clause Fixpoint data types aeson
fast-logger 3.2.2 BSD-3-Clause A fast logging system monad-logger, simple-logger
ghc-bignum 1.3 BSD-3-Clause GHC BigNum library base, bitvec, hashable, integer-gmp, integer-logarithms
ghc-boot-th 9.6.3 BSD-3-Clause Shared functionality between GHC and the @template-haskell@ library template-haskell
ghc-prim 0.10.0 BSD-3-Clause GHC primitives (core library)
generically 0.1.1 BSD-3-Clause Generically newtype to use with DerivingVia aeson
hourglass 0.2.12 BSD-3-Clause simple performant time related library asn1-encoding, asn1-types, crypton-x509, crypton-x509-validation, cryptostore, simplexmq
hashable 1.4.3.0 BSD-3-Clause A class for types that can be converted to a hash value aeson, async, case-insensitive, constraints, data-fix, mono-traversable, network-transport, psqueues, scientific, semialign, semigroupoids, simplexmq, strict, text-short, these, time-compat, unordered-containers, uuid-types, witherable
integer-gmp 1.1 BSD-3-Clause Integer library based on GMP (core library)
libyaml 0.1.2 BSD-3-Clause Low-level, streaming YAML interface. yaml
old-locale 1.0.0.7 BSD-3-Clause locale library blaze-textual, data-default-instances-old-locale, old-time
old-time 1.1.0.4 BSD-3-Clause Time library unix-time
lifted-base 0.2.3.12 BSD-3-Clause lifted IO operations from the base library monad-logger
mono-traversable 1.0.15.3 MIT Type classes for mapping, folding, and traversing monomorphic containers conduit
monad-control 1.0.3.1 BSD-3-Clause Lift control operations, like exception catching, through monad transformers lifted-base, monad-logger, zip
monad-logger 0.3.40 MIT A class of monads which can log messages. simple-logger
monad-loops 0.4.3 LicenseRef-PublicDomain Monadic loops monad-logger
ini 0.4.2 BSD-3-Clause Configuration files in the INI format. simplexmq
indexed-traversable 0.1.3 BSD-2-Clause FunctorWithIndex, FoldableWithIndex, TraversableWithIndex aeson, comonad, indexed-traversable-instances, semialign, witherable
indexed-traversable-instances 0.1.1.2 BSD-2-Clause More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex semialign, witherable
unordered-containers 0.2.19.1 BSD-3-Clause Efficient hashing-based container types aeson, indexed-traversable-instances, ini, mono-traversable, semialign, semigroupoids, witherable, yaml
ansi-terminal-types 0.11.5 BSD-3-Clause Types and functions used to represent SGR aspects ansi-terminal
integer-conversion 0.1.0.1 BSD-3-Clause Conversion from strings to Integer aeson, text-iso8601
integer-logarithms 1.0.3.1 MIT Integer logarithms. aeson, scientific
entropy 0.4.1.10 BSD-3-Clause A platform independent entropy source uuid, websockets
network-byte-order 0.1.7 BSD-3-Clause Network byte order utilities http2
network-control 0.0.2 BSD-3-Clause Library to control network protocols http2
network-udp 0.0.0 BSD-3-Clause UDP library simplexmq
network-info 0.2.1 BSD-3-Clause Access the local computer's basic network configuration simplexmq, uuid
network-uri 2.6.4.2 BSD-3-Clause URI manipulation aeson
unix-compat 0.7.1 BSD-3-Clause Portable POSIX-compatibility layer. fast-logger
unix-time 0.4.11 BSD-3-Clause Unix time parser/formatter and utilities fast-logger, http2, network-control, tls
parsec 3.1.16.1 BSD-2-Clause Monadic parser combinators network-uri
pem 0.2.4 BSD-3-Clause Privacy Enhanced Mail (PEM) format reader and writer. crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore
appar 0.1.8 BSD-3-Clause A simple applicative parser iproute
pretty 1.1.3.6 BSD-3-Clause Pretty-printing library template-haskell
primitive 0.9.0.0 BSD-3-Clause Primitive memory-related operations JuicyPixels, aeson, bitvec, conduit, conduit-extra, integer-conversion, resourcet, scientific, vector, vector-algorithms
iproute 1.7.12 BSD-3-Clause IP Routing Table network-udp, simplexmq
prettyprinter 1.7.1 BSD-2-Clause A modern, easy to use, well-documented, extensible pretty-printer. optparse-applicative, prettyprinter-ansi-terminal, terminal
prettyprinter-ansi-terminal 1.1.3 BSD-2-Clause ANSI terminal backend for the »prettyprinter« package. optparse-applicative
psqueues 0.2.8.0 BSD-3-Clause Pure priority search queues network-control
resourcet 1.3.0 BSD-3-Clause Deterministic allocation and freeing of scarce resources. conduit, conduit-extra, libyaml, monad-logger, yaml, zip
iso8601-time 0.1.5 MIT Convert to/from the ISO 8601 time format simplexmq
jpeg-turbo 0.1.0.0 BSD-3-Clause AND IJG AND Zlib FFI bindings to mozjpeg JuicyPixels-jpeg-turbo
safe-exceptions 0.1.7.4 MIT Safe, consistent, and easy exception handling unliftio
semigroupoids 6.0.0.1 BSD-2-Clause Semigroupoids: Category sans id semialign
semialign 1.3 BSD-3-Clause Align and Zip type-classes from the common Semialign ancestor. aeson
asn1-encoding 0.9.6 BSD-3-Clause ASN1 data reader and writer in RAW, BER and DER forms asn1-parse, crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls
asn1-parse 0.9.5 BSD-3-Clause Simple monadic parser for ASN1 stream types. crypton-x509
asn1-types 0.3.4 BSD-3-Clause ASN.1 types asn1-encoding, asn1-parse, crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls
split 0.2.4 BSD-3-Clause Combinator library for splitting lists. mono-traversable
splitmix 0.1.0.5 BSD-3-Clause Fast Splittable PRNG QuickCheck, random
assoc 1.1 BSD-3-Clause swap and assoc: Symmetric and Semigroupy Bifunctors bifunctors, strict, these
stm-chans 3.0.0.9 BSD-3-Clause Additional types of channels for STM. monad-logger
strict 0.5 BSD-3-Clause Strict data types and String IO. aeson
streaming-commons 0.2.2.6 MIT Common lower-level functions needed by various streaming data libraries conduit-extra, websockets
easy-file 0.2.5 BSD-3-Clause Cross-platform File handling fast-logger
auto-update 0.1.6 MIT Efficiently run periodic, on-demand actions fast-logger, time-manager
tagged 0.8.8 BSD-3-Clause Haskell 98 phantom types to avoid unsafely passing dummy arguments aeson, assoc, bifunctors, boring, comonad, distributive, indexed-traversable-instances, semialign, semigroupoids
th-abstraction 0.6.0.0 ISC Nicer interface for reified information about data types aeson, bifunctors
th-compat 0.1.4 BSD-3-Clause Backward- (and forward-)compatible Quote and Code types network-uri
these 1.2 BSD-3-Clause An either-or-both data type. aeson, semialign, strict
time-compat 1.9.6.1 BSD-3-Clause Compatibility package for time aeson, text-iso8601
time-manager 0.0.1 MIT Scalable timer http2, simplexmq
temporary 1.3 BSD-3-Clause Portable temporary file and directory support simplexmq
transformers 0.6.1.0 BSD-3-Clause Concrete functor and monad transformers JuicyPixels, JuicyPixels-jpeg-turbo, JuicyPixels-spng, QuickCheck, StateVar, attoparsec, bifunctors, boring, comonad, conduit, conduit-extra, constraints, contravariant, crypton-x509, distributive, exceptions, indexed-traversable, monad-control, monad-logger, mono-traversable, mtl, network-transport, optparse-applicative, primitive, resourcet, safe-exceptions, semialign, semigroupoids, simplexmq, sqlcipher-simple, streaming-commons, strict, tagged, temporary, terminal, tls, transformers-base, transformers-compat, typed-process, unliftio, unliftio-core, witherable, yaml, zip
transformers-base 0.4.6 BSD-3-Clause Lift computations from the bottom of a transformer stack lifted-base, monad-control, monad-logger, zip
transformers-compat 0.7.2 BSD-3-Clause A small compatibility shim for the transformers library comonad, monad-control, monad-logger, optparse-applicative, semigroupoids, transformers-base
attoparsec 0.14.4 BSD-3-Clause Fast combinator parsing for bytestrings and text attoparsec
text-iso8601 0.1 BSD-3-Clause Converting time to and from ISO 8601 text. aeson
text-short 0.1.5 BSD-3-Clause Memory-efficient representation of Unicode text strings aeson
type-equality 1 BSD-3-Clause Data.Type.Equality compat package constraints
typed-process 0.2.11.1 MIT Run external processes, with strong typing of streams conduit-extra
unix 2.8.1.0 BSD-3-Clause POSIX functionality conduit, directory, easy-file, entropy, process, streaming-commons, temporary, unix-compat, unliftio, zip
vector-algorithms 0.9.0.1 BSD-3-Clause Efficient algorithms for vector arrays mono-traversable
vector-stream 0.1.0.0 BSD-3-Clause Efficient Streams vector
witherable 0.4.2 BSD-3-Clause filterable traversable aeson
yaml 0.11.11.2 BSD-3-Clause Support for parsing and rendering YAML documents. simplexmq
zlib 0.6.3.0 BSD-3-Clause Compression and decompression in the gzip and zlib formats JuicyPixels, streaming-commons
zstd 0.1.3.0 BSD-3-Clause Haskell bindings to the Zstandard compression algorithm simplexmq